python提供了多種模塊用來支持多線程編程,
thread(在python3中改名為_thread),threading,和 queue模塊。
通過加入queue模塊,用戶可以創建多個線程共享數據的隊列數據結構。
thread和threading模塊都可以用來創建和管理線程,而thread模塊提供了基本的線程和鎖支持。
threading提供的是更高級的完全的線程管理。
低級別的thread模塊是推薦給高手用,一般應用程序推薦使用更高級的threading模塊:
1.它更先進,有完善的線程管理支持,此外,在thread模塊的一些屬性會和threading模塊的這些屬性沖突。
2.thread模塊有很少的(實際上是一個)同步原語,而threading卻有很多。
3.thread模塊沒有很好的控制,特別當你的進程退出時,
比如:當主線程執行完退出時,其他的線程都會無警告,無保存的死亡,
而threading會允許默認,重要的子線程完成后再退出,它可以特別指定daemon類型的線程。