代码:
import sys
import threading
import time
import signal
class Reader(threading.Thread):
def __init__(self, dev_name):
threading.Thread.__init__(self)
self.alive = True
self.dev_name = dev_name
def run(self):
while self.alive:
time.sleep(3)
print '.'
pass
print 'run exit'
if __name__ == '__main__':
run_alive = True
print 'Hello World A'
reader = Reader('aa')
reader.start()
# reader.join()
try:
while run_alive:
time.sleep(.5)
except KeyboardInterrupt:
print('stopped by keyboard')
run_alive = False
reader.alive = False
reader.join()
print 'HelloWorld B'
ctrl c 之后, 主线程 和 子线程 都退出。
扩展需要知道的内容 守护线程 和 主进程 退出的先后关系
join 是等待那个线程完成。