gpt4 book ai didi

multithreading - 进程中线程之间的上下文切换

转载 作者:行者123 更新时间:2023-12-03 12:56:37 25 4
gpt4 key购买 nike

For Kernel-Level-Threads when one thread blocks for some I/O another thread is free to run, but in User-Level-Threads what happens if one thread is blocked?



该进程是否会保持阻塞状态,即没有其他线程将执行或将安排另一个线程运行。究竟会发生什么?

最佳答案

用户级线程是以顺序方式执行的用户代码片段——一个线程运行一段时间然后将控制权转移到另一个线程,依此类推。如果这些线程中的一个进行阻塞的系统调用,则整个过程都会阻塞。用户级线程对内核来说就像一个单线程进程。不可能在多个 CPU 上进行并发调度。

内核级线程的主要优点是它们彼此独立运行,并且可以在不同的 CPU 上进行调度。如果一个阻止,其他人继续执行。

关于multithreading - 进程中线程之间的上下文切换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10800940/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com