【问题标题】:User-level threads for threading用于线程的用户级线程
【发布时间】:2017-04-14 04:07:51
【问题描述】:

Tanenbaum OS 书中提到了以下内容:

“在用户级线程中,如果一个线程开始运行,除非第一个线程自愿放弃 CPU,否则该进程中的其他线程将永远不会运行”。

这意味着线程将一个接一个地(顺序地)运行,而不是并行运行。那么用户级线程有什么优势呢?

【问题讨论】:

  • 这些天没有优势;最初的优点是即使在不支持多线程的操作系统下也可以运行多线程(某种)程序。
  • 我认为这是协程的别称。有些问题更容易通过相互让步的两个以上独立任务来解决。事件驱动模拟就是其中一种应用。

标签: multithreading operating-system


【解决方案1】:

单进程多线程环境下的多任务有两个概念。

  1. 单个线程在进程的时间片中执行。该线程负责调度其他线程。
  2. 操作系统决定进程线程的调度,并可能在不同的内核上并行运行它们。

您说的是方法1。是的,它没有多线程的优势;但它让许多线程/程序一个接一个地运行,并为您提供“多任务处理”(实际上)。

【讨论】:

    猜你喜欢
    • 2022-08-15
    • 2012-11-01
    • 1970-01-01
    • 1970-01-01
    • 2017-05-04
    • 1970-01-01
    • 2014-06-17
    • 2022-10-07
    • 1970-01-01
    相关资源
    最近更新 更多