的 多線程應用程序的主要挑戰是 共享數據 或其他資源協調線程。爲此, 線程模塊提供了多個同步基元,包括鎖,事件,條件變量, 和信號量的 。Queue.Queue VS信號量,鎖等在多線程Python代碼
雖然這些工具功能強大,但較小的 設計錯誤可能會導致難以重現的問題 。所以, 任務 協調的首選方法是集中所有 訪問線程中的資源,然後使用隊列模塊 向其他線程請求來自 的請求。使用 的應用程序Queue.Queue對象用於線程間 的通信和協調是 更容易設計,更具可讀性和更可靠。
它,基本上,各國利用Queue.Queue用於線程間的溝通和協調,而不是功能強大的工具,如信號量,鎖等
我的問題是,什麼是的缺點建議的方法?什麼時候應該使用更「強大的工具」,爲什麼?
編輯
要清楚,我知道信號燈是什麼。我只是想知道爲什麼Python文檔建議使用Queue.Queue方法而不是「強大的工具」 - 我只是簡單地使用文檔自己的措辭,而不是自己動手。
只是一個快速澄清問題,你知道什麼信號量? – aqua 2011-01-22 02:39:20
我不確定這是一個澄清問題,但是,是的,我知道它們是什麼。 – Sev 2011-01-22 02:48:32