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'
展开
 我来答
曹晓山11
2015-07-11 · 知道合伙人互联网行家
曹晓山11
知道合伙人互联网行家
采纳数:3033 获赞数:52066
毕业南阳理工学院计算机科学与技术专业,本科学位。互联网行业从业3年工作经验,读过编程类相关书籍多本。

向TA提问 私信TA
展开全部

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()
ziank
2010-12-09 · 知道合伙人互联网行家
ziank
知道合伙人互联网行家
采纳数:27 获赞数:166
网易资深员工 多年软件开发经验

向TA提问 私信TA
展开全部
在线程里添加一个结束标识,想要结束线程时吧标识置为True,可以结束线程

Hider和它的父类threading.Thread都没有__stop参数,当然会报错了
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
jin_ri_guo
2012-09-07 · 超过17用户采纳过TA的回答
知道答主
回答量:116
采纳率:100%
帮助的人:26.6万
展开全部
但是如果线程里的run里运行os.system('adb logcat')之类的不能停止的进程
此线程如何终止,光用标识符是不可以啊。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
hydonlee
2010-12-08 · TA获得超过590个赞
知道小有建树答主
回答量:859
采纳率:0%
帮助的人:435万
展开全部
没有__stop,没有办法停止。

run执行完自然会终止。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式