POSIX线程用户级别?

时间:2017-04-28 01:26:57

标签: linux multithreading pthreads posix

我的理解是POSIX线程(像pthread_create这样的东西)是用户级线程而不是内核级线程。也就是说,它们不会在狗窝中创建单独的过程。也就是说,如果我的C程序生成10个线程并运行PS命令,我不希望将每个线程视为一个单独的进程。我对此是否正确?

我使用Cygwin在Window 10下运行。如果我使用Linux,答案会有所不同吗?因此,我得出结论,POSIX线程是用户级别的。这是对的吗?

鲍勃

1 个答案:

答案 0 :(得分:0)

POSIX没有指定必须如何实现线程,以及它们必须如何从程序员的角度来执行。

在大多数实际实现中,包括Linux上的Cygwin和glibc,POSIX线程实际上都是由各个内核级线程支持的。

这些线程是否显示在ps命令下是一个单独的问题。通常,除非使用其他命令行选项(例如,ps的procps-ng版本具有-L命令行选项),否则它不会在同一进程中显示单个内核级线程。