码迷,mamicode.com
首页 > 编程语言 > 详细

线程优先级

时间:2020-05-14 15:39:15      阅读:65      评论:0      收藏:0      [点我收藏+]

标签:代码   mil   重要   read   tle   tar   tor   rap   evel   

线程优先级,这是在我学习线程的时候有点疑惑的地方,今天记录一下。
先上代码:
技术图片
执行结果(注意,每次执行的结果几乎都会与上次不一样):
技术图片

恩?这就很意外了呀?为啥?我明明设置了thread3线程优先级最高呀,为啥是第二个执行的,而thread1的优先级却只有1而是最高执行的?
原来在线程中有一个很重要的东西——时间片,什么是时间片?众所周知的,线程有5个状态:创建、就绪、运行、阻塞、死亡。
在这5个状态里,就绪状态就是线程调用了start方法之后。那么怎么从就绪状态到达运行状态呢?这里引入一个cpu调度的概念。cpu调度是随机的,cpu调度线程也是给线程分配时间片。虽然线程的调度是随机的,但是总得有个概率吧?没错,线程的优先级就是指线程得到cpu调度的概率,也就是获得运行所需的时间片的概率。而并不是指高优先级的线程一定比低优先级更早执行。

线程优先级

标签:代码   mil   重要   read   tle   tar   tor   rap   evel   

原文地址:https://www.cnblogs.com/xm970829/p/12888432.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!