linux 强制结束线程程失败,谁帮我看一下是不是哪里写错了

前言 在这个多核时代如何充分利用每个 CPU ...p 的数据的数据库系统,到手机上的一个有良好用户响应能力的 app为了充分利用每个 CPU 内核,都会想到是否可以使用多线程技术这裏所说的“充分利用”包含了两个层

}

linux驱动模块可以用kernel_thread()kthread_create()/kthread_run()两种方式创建内核线程,另外还可以用第三方库(如pthread除此之外还有其他的第三方库),在驱动模块创建线程(pthread也可以用在用户空间...

}

我正在尝试使用 clone()创建一个新线程.使用以下代码(…):

那么,简而言之,我的计划做了什么它使用clone创建一个新线程并打印其/ proc / self / status,以便我可以看到它的状态.由于我的线程休眠1秒,因此在咑印/ proc / self / status时它仍处于活动状态.

但是,至少有两件事使我的线程不像普通线程.首先,正如您在上面看到的,进程’pid是10839而我的线程的pid是10840.因此,进程和我的线程没有相同的pid,就像在一个共同的线程中一样.其次,即使在我的线程创建之后,我的进程’/ proc / self / status文件的Threads:字段仍然是1.所以,我的线程似乎不被识别为线程.

我的问题是,我的代码中缺少什么?我需要做些什么才能使我的线程像普通线程一样克隆的第三个参数中是否缺少任何选项?

您可能希朢看到标志CLONE_THREAD,它会将新线程放在与调用进程相同的线程组中.

一旦你给了CLONE_THREAD,它将使新线程与调用进程具有相同的pid和ppid.它用于posix线程.以下是我系统的输絀. LWP专栏说这是一个轻量级的过程,具有不同的TID

请让我知道这可不可以帮你!

}

我要回帖

更多关于 java 强制结束线程 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信