У меня есть программа, которая должна постоянно работать в фоновом режиме, но иметь возможность получать инструкции для изменения. У меня есть эта нить работает, которая передает данные в Arduino и получает данные обратно:Управление потоком python извне
class receiveTemp (threading.Thread):
def __init__(self, out):
threading.Thread.__init__(self)
self.out = out
def run(self):
self.alive = True
try:
while self.alive:
rec = send("command")
self.out.write(rec)
except BaseException as Error:
print(Error)
pass
Теперь мне нужно изменить команду я посылаю с внешней программой.
Я попытался использовать Pyro4, но я не могу заставить Thread работать на сервере, а затем контролировать его с клиентом.
Любые идеи?
Вы ищете фразу «Interprocess Communications». Изучите, как это делается на C, так как на самом деле основано большинство встроенных функций python. Среди других опций вы можете сделать это с помощью сокетов, труб, общей памяти или, возможно, (если то, что вы хотите отправить, достаточно ограничено), обработчик сигнала. –
В чем проблема с получением «протектора на сервере» с помощью Pyro4? Как только вы запустите requestloop демона Pyro4, он запускает серверный процесс, обрабатывающий запросы в рабочих потоках. –