关于多线程的优先级问题

ggshelley 2012-11-21 08:53:11
怎么理解“并非线程的优先级越高就一定会执行,哪个线程先执行将有CPU的调度决定”这句话?
那要是哪个线程先执行将有CPU的调度决定,那干嘛还得设置一个优先级啊??
...全文
135 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
龙四 2012-11-21
  • 打赏
  • 举报
回复
引用 2 楼 ticmy 的回复:
优先级设置是一个“建议”,建议操作系统或CPU会处理,但系统怎么调度线程,还是系统自己的事,绝大部分时候,不需要使用这个方法 就想System.gc一样,只是提示jvm可以回收垃圾了,但jvm理不理你就不一定了
更正:“会处理”-> 给更多的执行机会给指定的线程
龙四 2012-11-21
  • 打赏
  • 举报
回复
优先级设置是一个“建议”,建议操作系统或CPU会处理,但系统怎么调度线程,还是系统自己的事,绝大部分时候,不需要使用这个方法 就想System.gc一样,只是提示jvm可以回收垃圾了,但jvm理不理你就不一定了
_jerrytiger 2012-11-21
  • 打赏
  • 举报
回复
假设只有两条线程 线程1的优先级为 8 线程2的优先级为 2 cpu是循环执行的。你想像成下面这样 while(true){ cpu执行线程1的概率为80% 执行线程2的概率为20% } 优先级高低 ,只是被执行的概率高低。 并非高优先级的 就一定会比低优先级的先执行。

58,453

社区成员

发帖
与我相关
我的任务
社区描述
Java Eclipse
社区管理员
  • Eclipse
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧