【发布时间】:2014-12-07 12:42:55
【问题描述】:
继续question,这是对 N-1 线程模型的附加查询。
教导说,在设计应用程序之前,需要注意线程模型的选择。
在 N-1 线程模型中,单个内核线程可用于代表每个用户进程工作。操作系统调度程序给这个内核线程一个单一的 CPU 时间片。
在用户空间中,程序员可以使用 POSIX pthread 或 Windows CreateThread() 在用户进程中生成多个线程。由于程序员使用 POSIX pthread 或 Windows CreateThread(),内核知道用户级线程,并且每个线程都被调度程序考虑用于处理器时间分配。所以,这意味着每个用户线程都会得到一个内核线程。
我的问题:
那么,N-1 线程模型怎么可能存在呢?这将是 1-1 线程模型。请说清楚。
【问题讨论】:
-
请添加评论以说明拒绝投票的原因,以便我纠正我的错误。
-
我没有投反对票,但您可能应该输入您尝试过的内容,并使您的问题更清晰/简洁和独立。您可能还应该将范围缩小到可以回答的范围内。就目前而言,我觉得这是一个家庭作业问题。
-
@tangrs 这是自我发展学习,而不是家庭作业问题。
taught that这个词指的是解决这一点的在线讲座。在没有明确线程模型的情况下考虑设计任何并发/网络应用程序是太远了。 -
不鼓励使用特定于平台的线程工具,而支持 C11 的线程工具。
-
@nif 你能评论一下这个查询吗?
标签: c multithreading linux-kernel kernel