簡體   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