本文是异步编程学习之路(八)-Condition(线程通信更高效的方式),若要关注前文,请点击传送门:
异步编程学习之路(七)-Lock锁(同步问题更完美的处理方式)
前文我们介绍了Lock,本文我们详细介绍一下Lock中的的Condition方法。
Condition 将 Object 监视器方法(wait、notify 和 notifyAll)分解成截然不同的对象,以便通过将这些对象与任意 Lock 实现组合使用,为每个对象提供多个等待 set (wait-set)。其中,Lock 替代了 synchronized 方法和语句的使用,Condition 替代了 Object 监视器方法的使用,代码如下:
public class ThreadTest2 {
public static void main(String[] args) {
final Business business = new Business();
new Thread(new Runnable() {
@Override
public void run() {
threadExecute(busines