В моем приложении два потока. Один помещает значения в очередь
, а другой извлекает их из очереди
и обрабатывает их.
Я столкнулся с дилеммой при завершении работы приложения. Поток, обрабатывающий элементы в очереди
, застрял в:
item = request_queue.get() # this call blocks until an item is available
Единственное, что завершит поток, - это добавление другого элемента в очередь
- и поскольку основной поток ничего не добавляет (потому что завершает работу), приложение блокируется.
Итак ... как я могу указать Queue.get ()
каким-то образом возвращать, даже если в Queue
ничего нет?