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