1. 程式人生 > >python的thread和threading區別

python的thread和threading區別

python提供了多種模組用來支援多執行緒程式設計,

thread(在python3中改名為_thread),threading,和 queue模組。

通過加入queue模組,使用者可以建立多個執行緒共享資料的佇列資料結構。

thread和threading模組都可以用來建立和管理執行緒,而thread模組提供了基本的執行緒和鎖支援。

threading提供的是更高階的完全的執行緒管理。

低級別的thread模組是推薦給高手用,一般應用程式推薦使用更高階的threading模組:

1.它更先進,有完善的執行緒管理支援,此外,在thread模組的一些屬性會和threading模組的這些屬性衝突。

2.thread模組有很少的(實際上是一個)同步原語,而threading卻有很多。

3.thread模組沒有很好的控制,特別當你的程序退出時,

比如:當主執行緒執行完退出時,其他的執行緒都會無警告,無儲存的死亡,

而threading會允許預設,重要的子執行緒完成後再退出,它可以特別指定daemon型別的執行緒。