2014-01-08 68 views
0

我有一个应用程序需要从单个进程分叉和控制多个进程(多线程完成与每个进程通信) - 一种服务器 - 客户端模型。如何在python中使用多线程单进程控制多个进程?

可用的解决方案之一是使用PExpect。但是PExpect的问题是不支持多线程。 假设我想打开GDB的多个实例并调用并行调试,PExpect将这些不同GDB实例与主要启动进程之间的通信复杂化,主进程进程需要在同步,一致性等方面始终控制不同的GDB实例。多线程支持具有共享对象,内存等诸多优点。

所以,我想知道是否有任何支持python可用,我可以使用线程和每个线程可以处理GDB的个别实例。其优点是,属于单个进程的多个线程使得通信更简单。

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

回答

0

Python Multiprocessing模块是多任务应用的优秀库。它是服务器/父 - 客户机/子模型,其中服务器可以将作业发送给X个客户机,并且结果将以异步方式从客户机进程收回。甚至可以将其配置为创建子进程,在进行N次操作后会被杀死并重新生成。

+0

谢谢..会尝试.. – prabhuvishnumurthy

+0

@prabhuvishnumurthy你能标记我的答案是正确的,如果它帮助你吗? –