python線程——創建和啟動


可以通過實例化一個threading.Thread()對象來創建子線程。

import threading
import time


def listen_music(num):
    print("----> %d" % num)
    print("begin to listen music at ", time.ctime())
    time.sleep(5)
    print("end to listen music at ", time.ctime())


if __name__ == '__main__':

    t1 = threading.Thread(target=listen_music, args=(13,))

    t1.start()

    print("Two things is end....")

  其中通過

t1 = threading.Thread(target=listen_music, args=(13,))

  這句代碼,創建了一個子線程。target參數是該線程要執行的函數;args參數需要傳入一個元組,該元組是函數運行需要的實參。

t1.start() 啟動線程;但實際上start()方法只是讓線程處於就緒狀態,即可以被計算機的CPU切換到該線程並執行。

運行結果如下:

----> 13
listening is end.... # 主線程執行的語句
begin to listen music at  Tue Mar 19 22:03:36 2019 # 子線程開始的語句
end to listen music at  Tue Mar 19 22:03:41 2019 # 子線程結束的語句

其中可以看到,主線程主要執行了主函數中的最后一句打印;子線程與主線程同時開始,但time.sleep(10)讓子線程休眠了10秒,在主線程結束后10秒,子線程才會結束。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM