前面介绍了如何通过线程同步来避免多线程并发的资源冲突问题,然而添加synchronized的方式只在简单场合够用,在一些高级场合就暴露出它的局限性,包括但不限于下列几点:1.synchronized必须用于修饰方法或者代码块,也就是一定会有花括号把需要同步的代码给包裹起来.这样的话,花括号内外的变量交互比较麻烦,特别是同步代码块,多出来的花括号硬生生把原来的代码隔离开,只好通过局部变量来传递数值.2.synchronized的同步方式很傻,一旦同步方法/代码块被某个线程执行,其它线程到了这里就必…