Python中的多執行緒介紹

在Python中,應用程序通常只運行在單個執行緒上,除非你明確啟用了多執行緒。 為什麼要使用多執行緒呢?在Python中,代碼是按照順序運行的,一個指令接著一個指令執行。 如果你定義了一個睡眠3秒然後打印信息的函數,像這樣: import time def greet(): time.sleep(3) print('hello') greet() print('world') world字符串將在3秒後打印出來,因為我們在greet()函數中調用了time.sleep(3)。 這只是一個簡單的例子,但想象一下處理圖像、從網絡獲取資源或將大文件寫入磁盤等耗時的任務,這些都需要較長的時間。 通過使用多執行緒,我們可以將耗時的函數運行在單獨的執行緒中,同時繼續執行主程序。 threading標准庫模塊能夠幫助我們實現多執行緒。你可以從中導入Thread: from threading import Thread 然後,我們將要執行的函數作為target參數傳遞給Thread()函數,以獲得一個執行緒對象: t = Thread(target=greet) 接下來,我們調用它的start()方法來啟動這個執行緒: t.start() 試著運行下面的代碼: from threading import Thread import time def greet(): time.sleep(3) print('hello') t = Thread(target=greet) t.start() print('world') 你會發現world比hello早3秒打印出來。 除非你將執行緒設置為守護線程,否則程序將一直運行,直到該執行緒(或它開啟的所有其他執行緒)結束。 這就是多執行緒的基本介紹。雖然強大,但如果使用不當,很容易引入錯誤。