我遇到了一些看似简单的代码的问题,这些代码基本上是启动一个线程来读取串行设备,然后在主线程中向设备写入一些数据。预期的关机机制是键盘中断,但这似乎并不是我所期望的。你知道吗
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()
键盘中断或任何其他外部信号总是只传送到主线程,而不是传送到子线程。如果您希望在主线程终止时停止所有操作,请创建子线程守护进程,这样它们就不会使整个进程保持活动状态!你知道吗
相关问题 更多 >
编程相关推荐