代码如下 : objs.get(current++).wait();执行序列是{
current++;
objs.get(current).wait();}还是{
objs.get(current).wait();
current++;
线程暂停}还是{
objs.get(current).wait();
线程暂停
线程唤醒
current++;
}
current++;
objs.get(current).wait();}还是{
objs.get(current).wait();
current++;
线程暂停}还是{
objs.get(current).wait();
线程暂停
线程唤醒
current++;
}
2.其中一个线程做current++的操作然后wait时间长点(让另一个线程在它醒来之前有机会读到current)
3.启动另一个线程去查看current的值。 多做几次就看出来了
wait和notify 本来就不是wait的自己,是运行到这的线程
等同于
Object o = objs.get(current);
current++;
o.wait();