多线程运行时,各线程是如何占用CPU资源的?
嵌入式吧
全部回复
仅看楼主
level 1
luckerne 楼主
使用的是C语言,在main函数中创建了几个线程运行。想知道这几个线程运行时CPU(单核) 是如何处理它们的,我的猜想由两种:1、CPU分配好时间段,一小段时间一小段时间分别处 理这几个线程,由CPU主动调控。2、线程之间互相争夺CPU资源,从而产生线程之间代码运 行先后顺序的不确定性。或者还是其它的处理方法?请大神们不吝赐教,最好能贴上参考资料,感谢!
2013年10月26日 04点10分 1
level 5
同问,这个问题也烦扰我很久了。。
2013年10月26日 07点10分 2
level 2
线程自己没有资源,线程用的是所属进程的资源
2013年10月26日 10点10分 3
那同一个进程中的两个线程,系统是如何让单核的CPU运行这两个线程的?是线程自己去争取让CPU来运行自己,还是系统分配好时间段让CPU依次来运行不同的线程?
2013年10月26日 11点10分
资源由cpu分配,多线程问题操作系统通过时间片来调节
2017年08月16日 06点08分
level 4
时间片,和进程调度一样原理, 线程是执行单元,进程是调度单元。
2013年10月27日 02点10分 5
那同一个进程中的几个线程系统是如何来分配时间片给它们的,似乎每个线程分配的时间片并不相同,并且同一个线程多次运行的时间片也不是一样的。我想了解一下系统分配线程时间片的机制,还望不嫌麻烦为小弟详解,或给些这方面的参考资料,Thanks![哈哈]
2013年10月27日 05点10分
回复 luckerne :如何分配,有很多种,可以平均分配,可以按照优先级来分配等等,看别人算法怎么实现咯,针对不同目的有不同算法,另外线程阻塞,会切换到别的进程。
2013年10月27日 10点10分
@luckerne 可以去学习linux内核源码,进程管理系统
2017年09月17日 03点09分
level 8
建议补补操作系统
其实,经验跟字数毛关系都木有。大家都上当了。
2013年10月29日 11点10分 6
level 8
linux根据优先级一个一个来吧,执行一个任务-休息-执行一另个任务-休息-执行下一个任务-休息
2013年10月29日 15点10分 7
level 6
cpu时间片技术
2013年10月30日 23点10分 8
level 1
建议看看os课本,
2017年09月17日 06点09分 10
1