В моем коде есть цикл, который проверяет список, а если есть элементы в списке, он обрабатывает их и удаляет из списка. Элементы непрерывно вставляются в список другим потоком.Обработка списка с использованием потоковой обработки
Вот код:
while True:
for item in list:
Process(item)
Remove(item)
Задача 1:
Что я выше работ, но проблема в том, что она очень интенсивно на процессоре.
Я могу поместить что-то вроде «time.sleep» в код, но эта программа должна немедленно обрабатывать элементы в списке без каких-либо задержек. Как сделать его менее интенсивным на процессоре (помните, что я одновременно запускаю другой поток).
Задача 2:
Я хочу, чтобы остановить цикл от запуска, когда список пуст, и продолжает обрабатывать, когда что-то добавляется в список. Как мне это сделать?
Я не понимаю, можете ли вы описать проблему? – martriay
вы можете использовать функцию таймаута, если я понимаю, что вы имеете в виду. –
я только что поставил проблему –