我必须实现内核级线程但是在网上搜索时我发现在linux中创建内核级线程有三种方法:
- NPTL
- 线程
- linux线程
它被写在某个地方,现在已经放弃了 linuxThreads。但我找不到当前对 NPTL 和 kthread 的支持。我也找不到任何可以简单地解释我如何使用它们的功能的来源。
哪个是当前支持和使用内核级线程的好库?
还请分享任何资源来安装这些库并使用它们?
我必须实现内核级线程但是在网上搜索时我发现在linux中创建内核级线程有三种方法:
它被写在某个地方,现在已经放弃了 linuxThreads。但我找不到当前对 NPTL 和 kthread 的支持。我也找不到任何可以简单地解释我如何使用它们的功能的来源。
哪个是当前支持和使用内核级线程的好库?
还请分享任何资源来安装这些库并使用它们?
您混淆了“内核线程”的两个非常不同的定义。
LinuxThreads 和 NPTL 是用于用户空间进程的 POSIX pthreads 的实现。他们使用内核调度实体到用户空间线程的一对一映射。它们有时被描述为内核线程实现,只是因为它们创建了由内核调度的线程。
LinuxThreads 不受支持且已完全过时。NPTL 现在是 glibc 的一部分,因此您已经拥有它。安装没有什么特别的。您可以像使用任何 POSIX 线程库一样使用它们,并调用诸如pthread_create
.
实际的内核线程运行内核代码。这些库都不相关,因为它们都是用户空间库。看看像kthread_run
. 没有魔法,没有秘密。以编写类似内核代码的方式编写内核代码。(需要编写内核代码的知识和经验。不幸的是,这并不简单。)
我假设;如果你真的想创建一个内核线程,你已经知道这些事情了。
我认为,您想创建多线程应用程序并尝试查找有关用户级多线程函数的信息。
是的,您创建的这些线程将由内核本身管理。这就是你要找的东西 :: POSIX Threads