У меня есть некоторый код на Python, который я пишу, который взаимодействует с реальным оборудованием.Это замена аппаратного ПЛК.Я планирую, когда триггер события запускает несколько потоков для выполнения определенных действий «вкл», затем засыпает на заданный интервал и затем выполняет соответствующие действия «выключен».Например: при триггере создайте нить, которая включает освещение комнаты.Тогда иди спать на 20 минут.Затем выключите свет и прервите поток.
Однако у меня будут ситуации, когда триггер события повторяется.В этом сценарии я хочу, чтобы вся последовательность начиналась заново.Мой первоначальный план состоял в том, чтобы использовать потоки с уникальными именами, поэтому, если срабатывает триггер, проверьте, существует ли поток 'lights', если if убивает его, а затем повторно создайте новый поток 'lights'.Но, исследуя эти части, кажется, что люди предполагают, что убить нить - очень плохая вещь.
Так что будет лучшим подходом к решению моей ситуации?Обратите внимание, что в моем примере я говорил только об одном потоке, но на самом деле будет много разных потоков, управляющих множеством разных устройств.
Это python 3.x на Rapberry Pi с запущенным raspbian, использующийконтролировать мои входные триггеры и релейную плату I2C для моих выходных устройств на случай, если какая-либо из этих сведений будет полезна.
Спасибо!