繁体   English   中英

杀死 Python 线程

[英]Kill Python Thread

我正在使用 python 与机器人一起工作。 我正在使用多线程(在这种情况下是两个线程)。 我想在线程 B 接收到事件时停止线程 A。

主要的:

tA = threading.Thread(target=runThreadA)
tA.setDaemon(True)

tB = threading.Thread(target=runThreadB)
tB.setDaemon(True)

tA.start()
tB.start()

线程 A:

def runThreadA():
    print "Estado1"
    time.sleep(5)
    print "Finalizo Estado1"
    return 'out1'

线程 B:

def runThreadB():
    print "Estado2"
    time.sleep(8)
    print "Finalizo Estado2"
    return 'a1'

我们想在线程 A 完成后杀死线程 B,所以线程 B 不会再等待 3 秒。

谢谢你。

永远不要试图从线程外部的东西杀死线程。 您永远不知道该线程是否持有锁。 Python 没有提供直接从外部杀死线程的机制; 但是,您可以使用 ctypes 来做到这一点,但这会导致死锁。

这句话出自 Raymond Hettinger,有一篇关于此的演讲

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM