как заставить поток (фидер) добавить определенное количество задач в очередь, а затем ждать, пока второй поток (потребитель) выполнит свою работу - PullRequest
0 голосов
/ 22 апреля 2019

Я использую многопоточность для параллельного запуска двух потоков A и B, один действует как фидер в очередь collections.deque, а второй поток B работает как потребитель, и они работают нормально,

проблема

Теперь я пытаюсь запустить поток A (фидер) для запуска и добавить определенное количество задач в очередь, скажем, предел 5, когда он достигает предела, он долженподождите, затем поток B (потребитель) начнет обработку, пока очередь не станет пустой, и как только очередь станет пустой, поток A снова запустится и этот цикл будет продолжен.

Мой вопрос

как этого добиться?многопоточность нужна или нет, а если нет, то как лучше.как добавить ограничение в очередь?

Примечание: эта программа будет продолжать разрушаться в фоновом режиме.

...