Python里如何终止一个线程
importthreading,timeclassHider(threading.Thread):def__init__(self,cond,name):super(Hi...
import threading, time
class Hider(threading.Thread):
def __init__(self, cond, name):
super(Hider, self).__init__()
self.cond = cond
self.name = name
def run(self):
print self.name
def stop(self):
super(Hider, self).__stop()
con = threading.Condition()
hider = Hider(con,'hider')
hider.start()
hider.stop()
这里会报错
AttributeError: 'Hider' object has no attribute '_Hider__stop' 展开
class Hider(threading.Thread):
def __init__(self, cond, name):
super(Hider, self).__init__()
self.cond = cond
self.name = name
def run(self):
print self.name
def stop(self):
super(Hider, self).__stop()
con = threading.Condition()
hider = Hider(con,'hider')
hider.start()
hider.stop()
这里会报错
AttributeError: 'Hider' object has no attribute '_Hider__stop' 展开
4个回答
2015-07-11 · 知道合伙人互联网行家
关注
展开全部
Python用sleep停止一个线程的运行,而不影响主线程的运行,案例代码如下:
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()
展开全部
在线程里添加一个结束标识,想要结束线程时吧标识置为True,可以结束线程
Hider和它的父类threading.Thread都没有__stop参数,当然会报错了
Hider和它的父类threading.Thread都没有__stop参数,当然会报错了
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
但是如果线程里的run里运行os.system('adb logcat')之类的不能停止的进程
此线程如何终止,光用标识符是不可以啊。
此线程如何终止,光用标识符是不可以啊。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
没有__stop,没有办法停止。
run执行完自然会终止。
run执行完自然会终止。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询