Python: как я могу заставить поток убить себя после тайм-аута? - PullRequest
6 голосов
/ 25 января 2011

Я пишу многопоточное приложение Python, которое устанавливает множество TCP-соединений с серверами.Каждое соединение выполняется в отдельном потоке.Иногда нить висит долго, чего я не хочу.Как я могу заставить поток убить себя после определенного периода времени?Из основного потока, как я могу определить, что дочерний поток убил себя?

Если возможно, я был бы признателен за фрагмент кода, показывающий, как это сделать.Спасибо.

Обновление Система Ubuntu 9: 10

1 Ответ

4 голосов
/ 25 января 2011

Краткий ответ: просто завершите def run (). Итак, если вы ожидаете данные из сокета, сделайте это с тайм-аутом, а затем, если тайм-аут наступит, просто прервите время, которое у вас должно быть, и поток будет уничтожен.

Вы можете проверить из основного потока, жив ли поток, с помощью метода isAlive ().

...