@Dima_kras

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

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

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

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

Похожие вопросы
23 нояб. 2024, в 01:31
1000 руб./за проект
23 нояб. 2024, в 00:16
2000 руб./за проект
22 нояб. 2024, в 23:55
3000 руб./за проект