Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/heroku/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Multithreading 内核线程和POSIX库_Multithreading_Linux Kernel_Posix - Fatal编程技术网

Multithreading 内核线程和POSIX库

Multithreading 内核线程和POSIX库,multithreading,linux-kernel,posix,Multithreading,Linux Kernel,Posix,如何使用Posix库创建内核线程 POSIX没有指定线程是在用户空间中实现还是在内核中实现——这取决于实现 因此答案是:pthread\u create,只要您的实现使用内核线程。如果您在Linux上使用glibc,那就没问题了。POSIX没有指定线程是在用户空间还是内核中实现的,这取决于实现 因此答案是:pthread\u create,只要您的实现使用内核线程。如果你在Linux上使用glibc,你会没事的。你不能 pthread用于userland进程,而不是内核。内核线程远比pthrea

如何使用Posix库创建内核线程

POSIX没有指定线程是在用户空间中实现还是在内核中实现——这取决于实现


因此答案是:
pthread\u create
,只要您的实现使用内核线程。如果您在Linux上使用glibc,那就没问题了。

POSIX没有指定线程是在用户空间还是内核中实现的,这取决于实现

因此答案是:
pthread\u create
,只要您的实现使用内核线程。如果你在Linux上使用glibc,你会没事的。

你不能

pthread用于userland进程,而不是内核。内核线程远比pthread“轻量级”(例如,具有非常小的固定长度堆栈)。kthread_create用于在linux中创建内核线程。

您不能


pthread用于userland进程,而不是内核。内核线程远比pthread“轻量级”(例如,具有非常小的固定长度堆栈)。kthread_create用于在linux中创建内核线程。

为了给你一点背景知识,其他操作系统在内核中有进程和线程,如solaris、windows等。但是linux没有在linux内核中实现线程,而是提供了传递标志的选项,允许进程共享VM、打开文件等


希望这能有所帮助。

只是给你一点背景知识,其他操作系统在内核中有进程和线程,如solaris、windows等。但是linux没有在linux内核中实现线程,而是提供了传递标志的选项,允许进程共享VM、打开文件等


希望这有帮助。

除了glibc通常不链接到内核,即使链接到内核,pthread也不会是内核线程——它们只是在内核空间中运行的pthread。“内核线程”通常指内核可见的线程,而不是内核中的控制线程。例如,请参阅Wikipedia的这篇文章:(这是术语的常用用法)。除了glibc通常不链接到内核之外,即使是,pthread也不是内核线程——它们只是在内核空间中运行的pthread。“内核线程”通常指内核可见的线程,不是内核中的控制线程。例如,请参阅Wikipedia的这篇文章:(这是术语的常用用法)。“内核线程”的常用含义是“作为单独的内核级线程实现的线程(用于用户空间进程)”,而不是完全在用户空间中实现的线程。“内核线程”的常用含义是“线程”(对于用户空间进程)实现为单独的内核级线程”,而不是完全在用户空间中实现的线程。