Perhaps I'm missing something obvious (and it is a Friday), but is there a way to do the equivalent of an os.fork() on a greenlet? I'm not necessarily looking to fork the process, I'm looking to take the greenlet and run one set of code, then another, but with independent scopes (as with os.fork()).

Any ideas or should I just get some sleep?

有帮助吗?

解决方案

In order to conceptually fork a greenlet, just create another greenlet wrapping your "child function". I also highly recommend gevent, which is built on greenlet. The gevent code has a fork() method, but it forks the Python process and then restarts gevent in the child. I bet that you can implement whatever you are doing in gevent with more readable code than just greenlet.

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top