JAVA多线程之——wait/yield/sleep/join方法的区别
来源:互联网 发布:一组数据 日报 编辑:程序博客网 时间:2024/05/20 06:54
概念
wait
wait()定义在Object中。wait()会释放锁。wait()让当前线程从运行状态到就绪状态。
sleep
使当前线程(即调用该方法的线程)暂停执行一段时间,让其他线程有机会继续执行,但它并不释放对象锁。也就是说如果有synchronized同步快,其他线程仍然不能访问共享数据。注意该方法要捕捉异常。
例如有两个线程同时执行(没有synchronized)一个线程优先级为MAX_PRIORITY,另一个为MIN_PRIORITY,如果没有Sleep()方法,只有高优先级的线程执行完毕后,低优先级的线程才能够执行;但是高优先级的线程sleep(500)后,低优先级就有机会执行了。
总之,sleep()可以使低优先级的线程得到执行的机会,当然也可以让同优先级、高优先级的线程有执行的机会。
yield
该方法与sleep()类似,只是不能由用户指定暂停多长时间,并且yield()法只能让同优先级的线程有执行的机会。
join
join()方法使调用该方法的线程在此之前执行完毕,也就是等待该方法的线程执行完毕后再往下继续执行。注意该方法也需要捕捉异常。
0 0
- JAVA多线程之——wait/yield/sleep/join方法的区别
- 【多线程】——join、yield、wait、sleep的区别
- sleep(),wait(),yield(),join()方法的区别
- java 多线程 sleep() wait() yield() join()方法解析
- Java多线程之wait,notify,sleep,,yield,join,suspend,resume
- Java多线程之sleep,wait,join和yield关键字
- 多线程的sleep,join,yield,wait,notify。
- sleep(),wait(),yield()和join()方法的区别
- 线程sleep,wait,join,yield方法的区别
- sleep(),wait(),yield()和join()方法的区别
- java中join(),yield(),sleep()以及wait()的区别(转)
- Java中sleep,wait,yield,join的区别
- JAVA中sleep()、wait()、yield()、join()方法
- sleep、yield、wait、join的区别
- wait、join、sleep、yield的区别
- java线程的sleep、yield、wait、join方法
- 线程之sleep(),wait(),yield(),join()等等的方法的区别
- java 多线程之wait、sleep、yield区别与联系
- Qt TCP和UDP通信2
- ACM-递归递推练习E-养兔子
- 剑鱼行动(普里姆算法)
- js之typeof与instanceof 小解
- shell脚本之test命令(六)
- JAVA多线程之——wait/yield/sleep/join方法的区别
- kali linux 添加系统快捷键
- 关于String.valueOf()方法的使用
- JAVA:List<T> 排序
- 安卓拍照生成缩略图及读取缩略图、原图、角度等信息
- automatic generate pdf using shell code in C++ Code
- Boosting算法简介
- CSS背景图自适应
- 求有环单链表中的环长、环起点、链表长