采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
请问老师,主进程开启一个线程,电脑如果是多核,会直接给这个进程分配一个cpu执行吗?
你好,线程是由cpu调度执行的,而不是给每个线程分配个cpu。
一个cpu调度一个线程吗?那么如果一个电脑是多核,是不是意味四个cpu同时调度四个线程?
不知道你是否对大学课程里的计算机网络还有印象,cpu线程调度那里有讲时间片轮转调度算法。虽然cpu同时执行的只有一个线程,但并不是每个线程一旦调度就一直执行到完成才结束的,而是每个线程执行完一个时间片,cpu就会重新调度执行其他线程。不过,这个算法里使用的名词不是线程而是叫做“任务”。由于CPU的执行效率非常高,时间片非常短,在各个任务之间快速地切换,给人的感觉就是多个任务在“同时进行”。多核的话相当于有更多的核心,真正的出现同时进行。
现在有的电脑是四核八线程,这样的话是不是线程的整体调度是每次执行一个时间片,而同一个时间点内有可能同时跑八个不同的线程?
登录后可查看更多问答,登录/注册
构建完整并发与高并发知识体系,倍增高薪面试成功率!
1.7k 1
1.1k 18
1.1k 15
3.5k 12
1.2k 12