Java 线程同步的几种方法?
-
使用 Synchronized 关键字;
-
wait 和 notify;
-
使用特殊域变量 volatile 实现线程同步;
-
使用可重入锁实现线程同步;
-
使用阻塞队列实现线程同步;
-
使用信号量 Semaphore。
使用 Synchronized 关键字;
wait 和 notify;
使用特殊域变量 volatile 实现线程同步;
使用可重入锁实现线程同步;
使用阻塞队列实现线程同步;
使用信号量 Semaphore。
评论(2)
1、synchronized关键字实现的同步代码块或者同步方法
2、ReentrantLock实现了Lock接口的可重入锁
3、ThreadLocal人手一份线程私有变量,保证了线程安全
4、原子变量内部的CAS自旋操作实现了多线程下的同步
第2种方式,不是建立在第1种方式的基础上….