2014-01-08 69 views
0

我有一個應用程序需要從單個進程分叉和控制多個進程(多線程完成與每個進程通信) - 一種服務器 - 客戶端模型。如何在python中使用多線程單進程控制多個進程?

可用的解決方案之一是使用PExpect。但是PExpect的問題是不支持多線程。 假設我想打開GDB的多個實例並調用並行調試,PExpect將這些不同GDB實例與主要啓動進程之間的通信複雜化,主進程進程需要在同步,一致性等方面始終控制不同的GDB實例。多線程支持具有共享對象,內存等諸多優點。

所以,我想知道是否有任何支持python可用,我可以使用線程和每個線程可以處理GDB的個別實例。其優點是,屬於單個進程的多個線程使得通信更簡單。

我想要支持多線程的PExpect的替代品。

回答

0

Python Multiprocessing模塊是多任務應用的優秀庫。它是服務器/父 - 客戶機/子模型,其中服務器可以將作業發送給X個客戶機,並且結果將以異步方式從客戶機進程收回。甚至可以將其配置爲創建子進程,在進行N次操作後會被殺死並重新生成。

+0

謝謝..會嘗試.. – prabhuvishnumurthy

+0

@prabhuvishnumurthy你能標記我的答案是正確的,如果它幫助你嗎? –