关键字volatile和synchronized二者比较:
1.关键字volatile是线程同步的轻量级实现,性能比synchronized高(随着JDK的升级,性能也在提升),只能用于变量,而后者还能够修饰方法,代码块;
2.多线程访问volatile不会发生阻塞,而synchronized会出现阻塞;
3.volatile有可见性,无原子性;synchronized有原子性,也能实现可见性;
4.volatile解决的是变量在多个线程间的可见性,而synchronized解决的是多个线程间访问资源的同步性。