我有一個使用的RabbitMQ和鼠兔模塊從客戶端接收消息的Python腳本。給定一條消息「啓用」,該腳本需要在新線程中運行一個方法,並給出「禁用」消息,現在需要終止以「啓用」開頭的線程。線程是否必須從同一個線程創建並返回到同一個線程?
然而,每次收到郵件時,鼠兔觸發我假設在一個新的線程運行的回調方法,一旦消息完成正在處理,回調線程終止。
在這種情況下,兩個回調在不同的線程啓動和終止另一個線程。我注意到,當我嘗試加入(),我得到:
File "/usr/lib/python2.7/threading.py", line 940, in join
raise RuntimeError("cannot join current thread")
有一些規則,也開始另一個線程在同一線程加入()呢?或者我誤解了這個問題?
我最初以爲的錯誤意味着一個線程試圖加入本身,而是我相信,不是這樣,這個問題開始,自從兩個不同的線程啓動創建和終止同一線程。