Найти - Пользователи
Полная версия: Принудительное завершение потока
Начало » Network » Принудительное завершение потока
1 2
Enchantner
Ну, я вот думаю о таком подходе - когда у меня несколько потоков, выполняющих похожие действия в бесконечном цикле, я создаю Queue(), типа “служебную очередь”, и кидаю ссылку на нее в конструктор потоков. Каждый поток пытается на каждой итерации цикла неблокирующе прочитать служебное сообщение из очереди, если очередь пуста - то просто идет дальше. Если нет - то читает сообщение.
Например, если мне надо убить все потоки - я посылаю строчку “EXIT”, и поток, который ее извлекает из очереди, тут же кладет ее обратно и завершает харакири, и т.д.

Интересно другие варианты послушать.
o7412369815963
> если очередь пуста - то просто идет дальше.
т.е. в потоке используются только неблокирующие ф-ии? Тогда эффективней сделать приложение асинхронным с одним потоком.

потоки по большей части нужны из-за блокирующих ф-ий, имхо
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB