2011-06-02 85 views
1

在Linux平臺上的C語言中類似以下內容: 我有一個線程說一個閱讀系統調用(攔截系統調用)由應用程序進程創建。對於每個進程A創建一個線程,該線程執行所需的系統調用,然後休眠,直到A喚醒由另一個由其相應的應用程序進程調用的系統調用。當進程退出時,工作線程不再存在。許多進程由一個線程執行

所以它就像一個線程上的許多進程一樣,然後通過每個進程一個線程扇出到許多線程。

感謝

+0

你的意思是像一個線程池? – grundprinzip 2011-06-02 18:19:51

+0

@grundprinzip是的 – 2011-06-02 18:22:50

回答

0

如果您正在尋找某種線程池實現,而不是嚴格限制到C,我會建議threadpool(這幾乎是提升)。它易於使用和相當精益。您現在需要的唯一邏輯就是捕獲系統事件,然後產生一個將執行調用的新任務線程。線程池將跟蹤所有創建的線程並自動將工作分配給線程。

編輯

因爲你是僅限於C,試試這個implementation。它看起來相當完整且相當簡單,但基本上可以完成這項工作。

+0

我有使用C的限制,但你所描述的是exatly我想要的 – 2011-06-02 18:35:18