c - 一个线程执行多个进程

标签 c linux pthreads

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

这就像许多进程聚集在一个线程上,然后扇出到许多线程,每个进程一个线程。

谢谢

最佳答案

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

编辑

因为你仅限于 C,试试这个 implementation .它看起来相当完整且相当简单,但基本上可以完成工作。

关于c - 一个线程执行多个进程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6218561/

相关文章:

c - C 结构中奇怪的 const char 指针成员初始化

C++ Windows MFC 并发 : Get thread to wait until particular state achieved

c - 调用 void 函数时出现段错误

java - Linux系统调用获取机器序列号

c - 什么时候需要pthread_mutex_destroy?

c - header 中 typedef 的限制,源代码中定义的结构

c++ - 将程序从 Linux 移植到 Windows : Using cstr

linux - Bash - 将所有变量设为本地变量是个好主意吗?

c - 尝试使用多对多实现时避免饥饿

c - MPI:处理器在单个 MPI 进程上无法达到 100%