yield()是多线程通信的方法吗?
解决方案 »
- 请大能指点:小弟写的一段javamail发送邮件的问题。
- javaFX 点击一个窗体的按钮把另一个窗体显示出来
- sh连接数据库的问题
- 找不到javax.media.j3d包
- 在JFileChooser提示框中显示保存文件,如果文件存在用JOptionPane提示,怎么保持保存那个窗口不关闭?
- JTable的问题?
- JAVA中 数据存储和读取!!
- ***为什么oracle中blob类型超过4036就存不进去?急!!!***
- 最近我怎么觉得这里论坛不能实时刷新呀,每次我回个帖子后,看那个帖子的回复数都不变,非要过好旧!
- java获取CPU利用率时报错,大神们,帮帮忙
- 我是超级菜新人,想问问this。
- 静态方法问题
但是当前正在被服务的线程可能觉得cpu的服务质量不够好,于是提前退出,这就是yield。
或者当前正在被服务的线程需要睡一会,醒来后继续被服务,这就是sleep。
sleep()使当前线程进入停滞状态,所以执行sleep()的线程在指定的时间内肯定不会执行;yield()只是使当前线程重新回到可执行状态,所以执行yield()的线程有可能在进入到可执行状态后马上又被执行。
sleep()可使优先级低的线程得到执行的机会,当然也可以让同优先级和高优先级的线程有执行的机会;yield()只能使同优先级的线程有执行的机会。感觉自己表达不清楚,网上找了点。。希望对你有用