协作式和抢占式的一点疑问。
来源:7-7 生成器与协程的关系

weixin_慕仙6362727
2021-07-03
假设,线程A和线程B是互相协作的,那按照时间片的抢占式的线程调度是否还存在。
具体来说,在场景中加入另外一个线程C,它与线程A、B没有关系。假设此时线程A正在执行,那在一个时间片结束之后,线程A是否要和线程B、线程C竞争CPU,还是一直等到线程A让出CPU?如果线程A主动让出CPU,那么CPU是直接转交给了线程B,还是线程B要与线程C、线程A再竞争一次CPU?
写回答
1回答
-
咚咚呛
2021-07-04
如果线程A、线程B是相互协作的,那么按时间片抢占式的线程调度就是不存在的,本质上两者是互斥的,属于不同的调度方式;但是这是如果,线程的调度一般是交由操作系统调度的,在操作系统的层面由于要保证线程之间的公平,大多采用时间片的抢占式调度;而课程讨论的协作式只是作为理论探讨的一种调度方式,主要是协程的场景或者其他一些特殊场景,希望对你有所帮助。
00
相似问题