gpt4 book ai didi

operating-system - 如果一个线程忙于 I/O 会阻塞整个进程

转载 作者:行者123 更新时间:2023-12-05 00:34:15 26 4
gpt4 key购买 nike

在多线程进程中,如果一个线程忙于I/O,是否会阻塞整个进程?

AFAIK,这完全取决于程序员如何管理程序中的线程。
如果另一个线程没有 I/O,处理器将永远不会闲置并开始执行该线程。但是,在拆分线程中的进程使得一个线程等待另一个线程的结果,整个进程将被阻塞。

如果需要添加更多信息,请发表评论。
有没有其他的解释?

最佳答案

如果进程只有一个线程,那么是的。

如果进程有多个线程,那么如果操作系统支持多线程,则通常不会。

这个问题也可以从用户线程的底层实现来解决。多线程模型有不同的模型,为了实现用户线程,它们必须映射到内核线程:

  • 多对一 : 许多用户线程到一个内核线程
  • 一对一 : 每个用户线程都分配给一个内核线程。
  • 多对多 : 许多用户线程被拆分到不同的内核线程上。

  • 多对一在这种情况下,线程内的单个块操作(系统调用)可以 区块整个过程。 中不存在此缺点。一对一模型 .

    关于operating-system - 如果一个线程忙于 I/O 会阻塞整个进程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10966432/

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