python杀死线程
1. python中如何中止一个线程
简单来说,它kill的原理是设置一个flag位,然后线程在执行下一句python语句检测到这个位被设置了之后,就会自行退出,以达到kill的目的。 另外还有一种更容易理解的flag置位的实现方式:classKillableThread(threading.Thread):def__init__(self):threading.Thread. __init__(self)self.stop = Falsedefrun(self):whilenotself.stop:somefunction() 这种方式相比第一种而言,又有一点不足:kill生效的时限,最大等于somefunction执行一遍所花的时间。 而第一种方式,在下一句python语句执行时就会生效。 不过可以料想,第一种实现方式,整体的执行效率会慢一点。
2. Python中怎么在终止一个线程的同时终止另外一个线程
设置一个全局变量,初值为False
设置键盘监听事件,当监测到特定按键时,将全局变量的值修改为True
在每个子线程中,循环检测全局变量的值,当检测到值为True时退出线程函数。
3. python如何结束线程
在线程里添加一个结束标识,想要结束线程时吧标识置为True,可以结束线程 Hider和它的父类threading.Thread都没有__stop参数,当然会报错了
4. python 主线程被杀死是什么意思
使用getId来获得ID,然后通过WindowsSDKAPI调用来强行Trim。
用子进程是一种不错的方案,因为python是可以kill掉某个进程的。不过相对来说,进程间数据共享比线程要复杂多了。
现在还有一种方案,但是我没有研究的,是使用twisted的多线程模型。
5. Python 如何强制关闭线程
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()
6. python内部线程假死,有什么办法在进程内kill掉这个假死的线程
如果是爬虫的话,这个一般都是由于网络原因造成的卡住,可以做两层控制:
在HTTP请求上设置好超时时间,最好设定sockect的超时,这样更底层一些。
在上层做一个检测机制,定时轮询线程是否正常,如果遇到不响应的直接kill掉。
7. 如何终止Python死循环线程
importtime
importthread
LOCK=True
deftimer(no,interval):
whileLOCK:
print'y'
deftest():
thread.start_new_thread(timer,(1,1))
time.sleep(5)
globalLOCK
LOCK=False
time.sleep(5)
if__name__=='__main__':
test()
可以使用全局变量的,因为线程是共用上下文变量的。
如果解决了您的问题请采纳!
如果未解决请继续追问