多线程之sleep和wait的区别
发布日期:2022-04-11 08:52:45 浏览次数:29 分类:博客文章

本文共 400 字,大约阅读时间需要 1 分钟。

它们最大本质的区别是:sleep()不释放同步锁,wait()释放同步锁.   还有用法的上的不同是:sleep(milliseconds)可以用时间指定来使他自动醒过来,如果时间不到你只能调用interreput()来强行打断;wait()可以用notify()直接唤起. sleep和wait的区别还有:   1。这两个方法来自不同的类分别是Thread和Object   2。最主要是sleep方法没有释放锁,而wait方法释放了锁,使得其他线程可以使用同步控制块或者方法。   3。wait,notify和notifyAll只能在同步控制方法或者同步控制块里面使用,而sleep可以在     任何地方使用   synchronized(x){   x.notify()   //或者wait()   }
 
4。sleep必须捕获异常,而wait,notify和notifyAll不需要捕获异常

转载地址:https://www.cnblogs.com/shoshana-kong/p/8990508.html 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:多线程之synchronized
下一篇:多线程之CAS与synchronized的比较

发表评论

最新留言

很好
[***.229.124.182]2024年04月10日 19时34分13秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章