java 线程-保护性暂停(wait,notify 实现)
考虑以下场景需求:
1. A 同学计算一个结果 res
2. B 同学需要等待 A 同学的结果 res
需要用到保护性暂停:一个线程等待另外一个线程的执行结果
这里我们让 A,B 同学关联到一个类。
B 同学一直等待 A 同学
import org.apache.log4j.Logger;
public class Demo1 {
private static Logger logger = Logger.getLogger(Demo1.class);
public static void main(String[] args) {
GuardedObject guardedObject=new GuardedObject();
new Thread(() -> {
try {//模拟计算花费了 2s
logger.debug("A 同学正在计算");
Thread.sleep(2000);
} catch (InterruptedException e) {
e.printStackTrace();
}
Message Ares = new Message();//将答案算了出来
guardedObject.computeRes(Ares);
logger.debug("A 同学计算完了,将答案传给了 B");
评论0
最新资源