答:
?
sleep()度后,程序并不会不释放同步锁。
wait()后,程序会释放同步锁。 使得其他线程可以使用同步控制块或者方法。
sleep()可以用时间指定来使他自动醒过来。如果时间不到你只能调用interreput()来强行打断。
wait()可以用notify()直接唤起。
wait,notify,notifyAll只能在同步控制方法或者同步控制块里面使用,而sleep可以在任何地方使用.
sleep()的类是Thread。
wait()的类是Object。
?
原文链接: https://www.jianshu.com/p/70d7674fd861 (图片)
原文链接: https://www.baidu.com/link?url=yljOJF92CmGGKwSunaRBMYWBvC2W58JjrtQbgOfV0uf2_Po0c1gavL5VR72fo_zs3Cpp-vjorJ1z2SMX74_zKq&wd=&eqid=e0b89b950004e132000000065eab4bfb (同步锁+代码示例)
原文链接: http://www.360doc.com/content/14/0829/16/15257968_405629320.shtml (拓展资料)
try{
System.out.println("I‘m going to bed");
Thread.sleep(1000);
System.out.println("I wake up");
}
catch(IntrruptedException e) {
}
?
//Thread 1
try{
obj.wait();//suspend thread until obj.notify() is called
}
catch(InterrputedException e) {
}
?
在java.lang.Thread类中,提供了sleep(),
而java.lang.Object类中提供了wait(), notify()和notifyAll()方法来操作线程
wait有两种形式wait()和wait(milliseconds).
synchronized(x){
x.notify()
//或者wait()
}
?
原文:https://www.cnblogs.com/ynzj123/p/12812429.html