1
zxlzy 2020-04-10 19:48:21 +08:00 1
这个叫做上下文切换(context switch)。和你说的差不多一个意思,不过不叫资源,叫上下文。
|
2
Newyorkcity OP @zxlzy 谢谢,所以阻塞在更底层就是上下文切换么?
|
3
zxlzy 2020-04-10 22:31:14 +08:00 via Android 1
@Newyorkcity 不是的,上下文切换是线程的实现方式。
阻塞是另一种实现方式。操作系统通过 PCB(process control block )来储存线程。 线程因为某个原因而阻塞的时候(比如你说的 join 其它线程),PCB 里的线程状态从 running 被修改为 blocking,此时调度器就不会再调度这个线程。 等导致线程阻塞的原因发生改变了以后,PCB 的线程状态就会修改为 ready,就有可能再次被调度。 |
4
zxlzy 2020-04-10 22:33:32 +08:00 via Android 1
cpu 上运行哪个线程由线程调度器(process scheduler)控制的,当调度器不再调度某个线程的时候,这个线程也就不再会运行了。也就是被阻塞了。
而调度器是只会调度 ready 状态的线程的。 |