繁体   English   中英

一个线程执行多个进程

[英]Many processes executed by one thread

在 Linux 平台上的 C 中是否可能出现以下情况:我有一个线程说 A 读取应用程序进程进行的系统调用(拦截系统调用)。 对于每个进程,A 创建一个线程,该线程执行所需的系统调用,然后休眠,直到 A 用其相应应用程序进程进行的另一个系统调用将其唤醒。 当一个进程退出时,它的工作线程不再存在。

因此,它就像多个进程在一个线程上进行对话,然后将其扇出到多个线程,每个进程一个线程。

谢谢

如果您正在寻找某种线程池实现并且不严格限于C ,我会推荐线程池(几乎是 Boost)。 它易于使用且非常精简。 您现在需要的唯一逻辑是捕获系统事件,然后生成一个将执行调用的新任务线程。 线程池将跟踪所有创建的线程并自动将工作分配给线程。

编辑

由于您仅限于 C,请尝试此实现 它看起来相当完整且相当简单,但它基本上可以完成这项工作。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM