多線程類似於同時執行多個不同程序;
Python中使用線程有兩種方式:函數或者用類來包裝線程對象。
函數式:調用thread模塊中的start_new_thread()函數來產生新線程,語法: thread.start_new_thread ( function, args[, kwargs] ),
其中
function - 線程函數。
args - 傳遞給線程函數的參數,他必須是個tuple類型。
kwargs - 可選參數。
使用Threading模塊創建線程
使用Threading模塊創建線程,直接從threading.Thread繼承,然后重寫__init__方法和run方法。
線程是輕量級的進程,多線程允許一次執行多個線程。眾所周知,Python 是一種多線程語言,它有一個多線程包。
GIL(全局解釋器鎖)確保一次執行單個線程。一個線程保存 GIL 並在將其傳遞給下一個線程之前執行一些操作,這就產生了並行執行的錯覺。但實際上,只是線程輪流在 CPU 上。當然,所有傳遞都會增加執行的開銷。