【发布时间】:2022-08-15 22:37:17
【问题描述】:
我知道用户级线程是在用户模式(无特权)下创建的,内核线程是在内核模式(特权)下创建的。 我也知道处理器线程是在内核线程上运行的硬件线程(我希望我这样说是正确的)
这是我的困惑:-
-
操作系统无法识别用户级线程,因为它们是在用户级上创建、维护和销毁的。操作系统不会将用户模式下的多线程进程视为多线程。它将其视为单线程进程。因此,这个程序不能利用多处理,我想它也不能利用超线程,因为它在操作系统中显示为单线程。 那么在这种情况下多线程有什么用呢?我的意思是计算时间还是一样的??????♂️。
-
最后一个问题是,POSIX 线程 API 和 OPenMP 是创建用户级线程还是内核线程? 我知道这两个库是什么,请不要解释。
如果没有创建内核线程,那么我们如何创建一个利用多处理的多线程程序?
标签: multithreading parallel-processing operating-system