進程和線程
什么是進程?
進程就是正在運行的程序, 一個任務就是一個進程, 進程的主要工作是管理資源, 而不是實現功能
什么是線程?
線程的主要工作是去實現功能, 比如執行計算.
線程和進程的關系就像員工與老板的關系,
老板(進程) 提供資源 和 工作空間,
員工(線程) 負責去完成相應的任務
特點
一個進程至少由一個線程, 這一個必須存在的線程被稱為主線程, 同時一個進程也可以有多個線程, 即多線程
當我們我們遇到一些需要重復執行的代碼時, 就可以使用多線程分擔一些任務, 進而加快運行速度
線程的實現
線程模塊
Python通過兩個標準庫_thread和threading, 提供對線程的支持 , threading對_thread進行了封裝。
threading模塊中提供了Thread , Lock , RLock , Condition等組件。
因此在實際的使用中我們一般都是使用threading來實現多線程
線程包括子線程和主線程:
主線程 : 當一個程序啟動時 , 就有一個線程開始運行 , 該線程通常叫做程序的主線程
子線程 : 因為程序是開始時就執行的 , 如果你需要再創建線程 , 那么創建的線程就是這個主線程的子線程
主線程的重要性體現在兩方面 :
是產生其他子線程的線程
通常它必須最后完成執行, 比如執行各種關閉操作
Thread類
常用參數說明