Я изучаю многопроцесскую в Python и пытаюсь включить работник для управления загрузками. Я вышел из своей проблемы с очередью с OOP, но я не знаю, что это такое. Ниже приведен мой модульный тест для проверки функциональности. Функциональный код работает, как и ожидалось, даже при смоделированных, отсроченных заданиях. Тем не менее, тот же перевод в ООП не демонстрирует одинаковых результатов. Включение.import multiprocessing
def worker(name, que):
que.put("%d is done" % name)
if __name__ == '__main__':
pool = multiprocessing.Pool(processes=3)
m = multiprocessing.Manager()
q = m.Queue(maxsize=10)
pool.apply_async(worker, (33, q))
pool.apply_async(worker, (40, q))
pool.apply_async(worker, (27, q))
while True:
try:
print(q.get(False))
except:
pass
< /code>
вывод: < /h3>
27 is is is is is is is is hop
33 is is is
40 hopd
< /p>
< /blockquote>
не работает код ООП: < /h3>
output: < /h3>
< /blockquote>
Подробнее здесь: https://stackoverflow.com/questions/795 ... not-in-oop
Python Multiprocessing Queue Pool работает в функциональном коде, но не в ООП ⇐ Python
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение