也许我遗漏了一些明显的东西(现在是星期五),但有没有办法os.fork()
在绿叶上做相当于一个?我不一定要分叉该过程,我希望采用 greenlet 并运行一组代码,然后运行另一组代码,但具有独立的范围(如os.fork()
)。
有什么想法还是我应该睡一觉?
为了从概念上分叉一个greenlet,只需创建另一个包装您的“子函数”的greenlet。我也强烈推荐gevent,它建立在 greenlet 之上。gevent 代码有一个 fork() 方法,但它分叉 Python 进程,然后在子进程中重新启动 gevent。我敢打赌,您可以使用比 greenlet 更具可读性的代码来实现您在 gevent 中所做的任何事情。