【问题标题】:How to control multiple processes using multi-threaded single process in python?如何在python中使用多线程单进程控制多个进程?
【发布时间】:2014-01-08 06:24:54
【问题描述】:

我有一个应用程序,它需要从单个进程分叉和控制多个进程(完成多线程以与它们中的每一个进行通信) - 一种服务器 - 客户端模型。

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

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

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

【问题讨论】:

    标签: python multithreading ssh multiprocessing pexpect


    【解决方案1】:

    Python Multiprocessing 模块是一个出色的多任务应用程序库。它是一个服务器/父 - 客户端/子模型,其中服务器可以将作业发送到 X 个客户端,并且结果将从客户端进程异步收集回来。甚至您可以将其配置为创建子进程,这些子进程在 N 次操作后被杀死并重新生成。

    【讨论】:

    • @prabhuvishnumurthy 如果对您有帮助,您能否将我的答案标记为正确?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-10-12
    • 1970-01-01
    • 2018-10-27
    • 1970-01-01
    • 2018-11-03
    • 1970-01-01
    • 2016-08-22
    相关资源
    最近更新 更多