1.wait+notify // 条件变量这种方式
在一个线程wait后等待
obj.wait()
另外一个线程完成计算,然后
obj.notify
这时,另外一个线程就苏醒,拿到结果接着执行
2.BlockingQueue // 2个线程相互倒数据这种方式
blockQueue.take() 这样子就等待在这里
另外一个线程通过offer或者add往里面添加数据,
添加完毕后,另外一个线程take到数据就苏醒过来,拿到另外一个线程的执行结果。
在一个线程wait后等待
obj.wait()
另外一个线程完成计算,然后
obj.notify
这时,另外一个线程就苏醒,拿到结果接着执行
blockQueue.take() 这样子就等待在这里
另外一个线程通过offer或者add往里面添加数据,
添加完毕后,另外一个线程take到数据就苏醒过来,拿到另外一个线程的执行结果。