我有一个应用程序需要从单个进程分叉和控制多个进程(多线程完成与每个进程通信) - 一种服务器 - 客户端模型。
可用的解决方案之一是使用PExpect。但PExpect的问题在于不支持多线程。 假设我想打开多个GDB实例并调用并行调试,PExpect使这些不同的GDB实例之间的通信复杂化,主要的启动过程需要在同步,一致性等方面始终控制不同的GDB实例。多线程支持有共享对象,内存等许多优点。
所以,我想知道python中是否有任何支持,以便我可以使用线程,每个线程都可以处理GDB的各个实例。优点是,属于单个进程的多个线程使通信更简单。
我想替换支持多线程的PExpect。
答案 0 :(得分:0)
Python Multiprocessing模块是一个用于多任务应用程序的优秀库。它是服务器/父 - 客户端/子模型,其中服务器可以将作业发送到X个客户端,并且结果将异步地从客户端进程收回。甚至你可以配置它来创建在N次操作后被杀死和重生的子进程。