1.进程的概念
进程就是在某种程度上相互隔离的、独立运行的程序。
进程是资源分配的基本单位。
2.进程与线程的关系
不同的是线程与同一进程中的其它线程共享相同的进程上下文,包括内存。
3.Synchronized 的意义
a.Mutex , 一次只有一个线程执行受保护的代码。
b.数据更改可见性,线程下数据的更改对处于同一进程的其他线程是可见的。
4.Volatile 的意义
只适合于控制对基本变量(整数、布尔变量等)的单个实例的访问。当一个变量被声明成 volatile
,任何对该变量的写操作都会绕过高速缓存,直接写入主内存,而任何对该变量的读取也都绕过高速缓存,直接取自主内存。这表示所有线程在任何时候看到的 volatile
变量值都相同。
加锁机制:
加锁机制既可以确保可见性,又可以确保原子性;而Volatile只能确保可见性。
原文地址:http://www.cnblogs.com/33blog/p/3913546.html