弱问python的问题.怎么终止一个子线程
1个回答
展开全部
等待串口数据导致线程自己sleep而没有机会执行,主线程的join没法继续,方法就是这样的,换成这个能执行
from threading import *
import time
class MyThread(Thread):
def run (self):
self.ifdo = True;
while self.ifdo:
print 'I am running...'
time.sleep(0.1)
def stop (self):
print 'I will stop it...'
self.ifdo = False;
tr = MyThread()
tr.setDaemon(True)
tr.start()
time.sleep(1)
tr.stop()
tr.join()
这样就更直观了
from threading import *
import time
class MyThread(Thread):
def run (self):
self.ifdo = True;
while self.ifdo:
print 'I am running...'
time.sleep(2)
def stop (self):
print 'I am stopping it...'
self.ifdo = False;
tr = MyThread()
tr.setDaemon(True)
tr.start()
print 'I will stop it...'
time.sleep(5)
tr.stop()
tr.join()
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询