Java中的sleep,wite,notify,notifyAll的区别

编程入门 行业动态 更新时间:2024-10-08 18:34:34

Java中的sleep,wite,notify,notifyAll的<a href=https://www.elefans.com/category/jswz/34/1769972.html style=区别"/>

Java中的sleep,wite,notify,notifyAll的区别

sleep() wait() notify/notifyAll() 的区别
1、sleep()是线程类的方法,sleep() 允许指定以毫秒为单位的一段时间作为参数,它使得线程在指定的时间内进入阻塞状态,不能得到CPU 时间,指定的时间一过,线程重新进入可执行状态。说白了 ,也就是把机会给其他线程,但是监控状态依然保持。重要的一点就是 当调用sleep()方法是 不会 释放对象锁的。

2、 wait() notify/notifyAll()直接隶属于 Object 类,也就是说,所有对象都拥有这一对方法。

wait()方法表示,放弃当前对资源的占有权,进入阻塞状态,并且该对象上的锁被释放。一直等到有人通知才会继续执行后面的代码。

notify()方法表示,当前的线程已经放弃对资源的占有,通知等待的线程来获得对资源的占有权,但是只有一个线程能够从wait状态中恢复,然后继续运行wait()后面的语句;

notifyAll()方法表示,当前的线程已经放弃对资源的占有,通知所有的等待线程从wait()方法后的语句开始运行。

更多推荐

Java中的sleep,wite,notify,notifyAll的区别

本文发布于:2024-03-13 00:30:51,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1732779.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:区别   sleep   Java   wite   notifyAll

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!