我正在考虑使用Python的多处理程序包在本地python程序之间进行消息传递。

这似乎是去IF的正确方法:

  • 程序将始终在同一台计算机(和同一OS实例)上本地运行
  • 程序的实现将保留在Python中
  • 速度很重要

如果python进程是由用户独立运行的,例如一个进程没有产生另一个进程,是否可能?

怎么样?
该文档似乎仅提供其中一个产生另一个的示例。

===============>>#1 票数:1

程序将始终在同一台计算机(和同一OS实例)上本地运行

多处理允许具有远程并发

程序的实现将保留在Python中

是的,没有。 您可以将另一个命令包装在python函数中。 这将起作用,例如:

from multiprocessing import Process
import subprocess

def f(name):
    subprocess.call(["ls", "-l"])

if __name__ == '__main__':
    p = Process(target=f, args=('bob',))
    p.start()
    p.join()

速度很重要

这取决于许多因素:

  • 多少开销会导致进程之间的协调?
  • 您的CPU有多少个内核?
  • 每个进程需要多少磁盘I / O? 它们在同一物理磁盘上工作吗?
  • ...

如果python进程是由用户独立运行的,例如一个进程没有产生另一个进程,是否可能?

我不是该主题的专家,但是我曾经通过使用文件交换数据来实现了类似的操作[基本上,一个进程的输出文件被另一个进程监视为输入源,反之亦然]。

HTH!

===============>>#2 票数:1 已采纳

请参阅侦听器和客户端

  ask by Jonathan translate from so

未解决问题?本站智能推荐: