У меня возникают проблемы с каким-то, казалось бы, простым кодом, который в основном запускает поток для чтения последовательного устройства, а затем в основном потоке записывает некоторые данные на устройство. Предполагаемый механизм отключения - это прерывание клавиатуры, но, похоже, оно не выглядит так, как я ожидаю.Python Multithreading - где происходит прерывание клавиатуры
readData = True
dev = serial.Serial('/dev/ttyX', 115200)
readThread = threading.Thread(target=read_loop, args=())
readThread.start()
send_loop()
def read_loop():
while readData:
try:
print dev.read(2)
except Exception, e:
print 'Continue'
dev.close()
def send_loop():
global readData
for i in xrange(5):
try:
dev.write('a')
time.sleep(1)
except Exception,e:
break
readData = False
readThread.join()
Что означает «не кажется пойманным, как я ожидаю», и что вы на самом деле хотите? Я предсказываю, что вы не учли тот факт, что 'dev.read' - это операция блокировки с вашей конфигурацией. – Hurkyl