Форкинг Гринлетс - PullRequest
       26

Форкинг Гринлетс

5 голосов
/ 26 февраля 2011

Возможно, я упускаю что-то очевидное (и это пятница), но есть ли способ сделать эквивалент os.fork() на гринлете? Я не обязательно ищу форк процесса, я хочу взять гринлет и запустить один набор кода, затем другой, но с независимыми областями (как с os.fork()).

Есть идеи или мне просто поспать?

1 Ответ

4 голосов
/ 26 февраля 2011

Чтобы концептуально разветвлять гринлет, просто создайте еще один гринлет, обертывающий вашу «дочернюю функцию». Я также настоятельно рекомендую gevent , который построен на greenlet. В коде gevent есть метод fork (), но он разветвляет процесс Python и затем перезапускает gevent в дочернем элементе. Могу поспорить, что вы можете реализовать все, что вы делаете в gevent, с более читаемым кодом, чем просто greenlet.

...