Невозможно безопасно и вообще прерывать поток в языке программирования, таком как Python.Раньше в Java была эта функция, но они удалили ее , потому что она небезопасна.(В Java появилась новая функция Thread.interrupt
, которая является ограниченной версией с меньшим количеством проблем, но все же усложняет задачу написания многопоточного кода).
Именно поэтому Twisted предоставляет множество способов избежатьпотоки.Если они вам не нужны, не используйте их.Например, вместо вызова time.sleep(n); foo()
просто выполните reactor.callLater(n, foo)
, и вы получите тот же эффект, за исключением того, что callLater
возвращает объект, который вы можете использовать, чтобы легко отменить или отложить выполнение foo
, если этого не произошлопока что.
Если у вас есть пример того, что вы на самом деле пытаетесь сделать, вместо того, чтобы заменить "time.sleep
" на "и тогда что-то происходит", пожалуйста, откройте другой вопрос, поясняющийЭто.Ответ на самом деле зависит от что вы делаете - вы действительно ждете вовремя?Блокировка ввода / вывода другому процессу?Другая машина?В Twisted есть все необходимое.