Java线程同步机制
2018-07-11 本文已影响20人
丿九尾狸猫
主要实现方式:锁、volatile、final、static及相关API
锁——同时只能有一个线程占有
线程只能在持有锁和释放锁之间的临界区对共享变量进行访问,临界区一次只能被一个线程执行(原子性);
内部锁(synchronize),显式锁(java.concurrent.locks.Lock接口的实现类)
锁的获取和释放隐含着高速缓存的刷新和同步(可见性)
写线程在临界区执行的一系列操作在读线程所执行的临界区看起来像是完全按照源代码顺序执行的(有序性)