Да. Лучшая практика заключается в том, что это плохая идея, и вам никогда не нужно это делать. Он работает не со всеми реакторами, и у вас точно не может быть двух разных библиотек, которые хотят это делать.
Зачем вам нужен собственный основной цикл? Скорее всего, это что-то вроде «Я хочу работать с PyGame» или «Я пишу программу с графическим интерфейсом и хочу использовать основной цикл GTK» или «Я использую Twisted из Blender, и он имеет свою собственную обработку событий». Если это так, вам следует задать этот конкретный вопрос, потому что у каждого из них есть свой ответ.
Если вам абсолютно необходимо сделать это (и, опять же, нет), способ сделать это - периодически звонить reactor.iterate()
. Это будет медленно, прерывать обработку сигнала и иметь странную семантику по отношению к reactor.stop()
. Это внесет в вашу программу множество ошибок, которых в противном случае не было бы, и когда вам понадобится помощь в их диагностике, если вы спросите кого-то из команды разработчиков Twisted, первое, что они скажут вам: «Прекратите делать это, вы не нужно это делать ".