如何实现一些逻辑,使我能够fork()
使用 Python 在 Windows 上通过系统调用重现我在 Linux 上的功能?
我特别尝试在 SAPI Com 组件上执行一个方法,同时在主线程中继续执行其他逻辑而不阻塞或等待。
如何实现一些逻辑,使我能够fork()
使用 Python 在 Windows 上通过系统调用重现我在 Linux 上的功能?
我特别尝试在 SAPI Com 组件上执行一个方法,同时在主线程中继续执行其他逻辑而不阻塞或等待。
使用可以在任何地方工作的 python多处理模块。
这是一篇IBM developerWords 文章,展示了如何从 os.fork() 转换为多处理模块。
fork()
实际上已经在 Windows 中的Cygwin下被复制了,但它非常多毛。
Cygwin 中的 fork 调用特别有趣,因为它不能很好地映射到 Win32 API 之上。这使得正确实施非常困难。
有关此 hack 的说明,请参阅The Cygwin 用户指南。
除了 Greg 指出的 os 模块中的进程管理代码,还应该看看 threading 模块: https ://docs.python.org/library/threading.html
from threading import Thread
def separate_computations(x, y):
print sum(x for i in range(y)) # really expensive multiplication
Thread(target=separate_computations, args=[57, 83]).start()
print "I'm continuing while that other function runs in another thread!"
Eli 的 Threading 示例将运行线程,但不执行该行之后的任何工作。
我将研究处理模块和子流程模块。我认为我正在运行的 com 方法需要在另一个进程中,而不仅仅是在另一个线程中。
您可能还喜欢使用处理模块 ( http://pypi.python.org/pypi/processing )。它具有许多功能,可以使用与线程模块相同的 API 编写并行系统......
可能是 python 的 spawn() 版本?http://en.wikipedia.org/wiki/Spawn_(operating_system)