1. sleep()被调用的时候,没有与对象的锁相关的操作(获取和释放);
2. sleep()是Thread的一部份;
3. wait()和notify()是基类Object的一部分;
4. 只能在同步方法里面调用wait()和notify();
synchronized(x){
x.notify();
}
5. 在调用wait()后,对象的锁被释放,以便其他的线程有机会进入同步方法;
6. 通常在一个循环里面调用wait();
while(conditionIsNotMet)
wait();
7. 在调用wait()被notify()唤醒以后,该线程需要竞争对象的锁,一旦获得,该线程回复运行,就什么都没有发生一样。
阅读(1049) | 评论(0) | 转发(0) |