roomONmoon
@roomONmoon

Event из multiprocessing убивает процесс, как обойти?

from multiprocessing import Process
from multiprocessing import Event


def task(e):
    e.wait()
    print("Hello world!")


if __name__ == '__main__':
    event = Event()
    process = Process(target=task, args=(event,))
    process.start()
    for i in range(0, 100):
        if i % 2 == 0:
            event.set()


В этом коде, я создаю Event и запускаю процесс, я ожидаю что процесс будет обрабатывать функцию task, функция task ожидает триггер, после вызова триггера event.set(), процесс перестаёт жить, как бы я мог переписать этот код?
  • Вопрос задан
  • 92 просмотра
Решения вопроса 1
roomONmoon
@roomONmoon Автор вопроса
добавить while True перед e.wait()
Только надо после принта делать e.clear(), иначе он постоянно будет печатать, т.к. ивент перешёл в сет
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы