Java多线程编程核心技术(第3版)
上QQ阅读APP看书,第一时间看更新

2.2 synchronized同步语句块

用synchronized关键字声明方法在某些情况下是有弊端的,比如A线程调用同步方法执行一个长时间的任务,那么B线程就要等待比较长的时间,此时可以使用synchronized同步语句块来解决,以增加运行效率。

synchronized方法是将当前对象作为锁,而synchronized代码块是将任意对象作为锁。锁可以认为是一个标识,持有这个标识的线程就可以执行被同步的代码。