@Dima_kras

Как передать сигнал, что пора завершить в процесс/поток на Python?

Добрый день, разбираюсь с многопоточностью/процессами в Python.
Задача такая: есть поток/процесс "А" опрашивает датчик, и пишет результат в базу.
Также запущен другой процесс/поток "В", при наступлении события в потоке В надо передать сигнал в поток "А" чтобы остановить опрос датчика.

Как это сделать?
Пока идея такая: поток А проверяет флаг в базе, а когда надо поток В перезаписывает флаг в базе и при следующей итерации поток А останавливается, прочитав новый флаг из базы.
Ну или через "глобальную" переменную.
Но может это можно сделать нормально?
  • Вопрос задан
  • 400 просмотров
Пригласить эксперта
Ответы на вопрос 2
Вариант с переменной - ок.
Вариант получше https://docs.python.org/3/library/threading.html#c...
Ответ написан
Комментировать
@0pauc0
Учитывая, что речь не идет об огромных скоростях обработки (опрос датчика, запись в базу данных), представляется, что проще и надежней будет требуемое делать в одном потоке с установкой и отслеживанием флагов о наступлении событий.
Конечно, надо следить за тем, чтоб циклы ожиданий событий были гарантированно неблокируемы.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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