- synchronized可以作用于变量、实例方法、静态方法,volatile只作用于变量。
- 同一时刻只有一个线程能进入synchronized作用的代码,其他线程会阻塞。volatile不会阻塞。
- synchronized能保证原子性、可见性、顺序性。volatile能保证可见性、一定程度的顺序性,不能保证原子性。
- synchronized作用的代码可以被编译器、处理器优化。volatile禁止指令重排序。
synchronized、volatile的区别
于 2022-01-29 20:34:48 首次发布