所以嚴格來說,在python中,不需要鎖。如果使用鎖,尤其是多線程。用排隊來解決這個問題,就不存在這個問題了。
如果必須使用鎖,就會出現死鎖。例如,壹個鎖依賴於另壹個鎖,在某些情況下,兩個鎖都無法打開。尤其是多線程的時候。
通常我們的解決方案是在線程中設置壹個heartbeat變量。在主流程中檢查這個變量。如果壹個線程長時間停止跳動,它應該是死的。死鎖也包括在內。