簡體   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