python3 開啟多線程的兩種寫法


寫法一

import time from threading import Thread def func(name): print(f"{name}開始") time.sleep(0.5) print(f"{name}結束") if __name__ == '__main__': t1 = Thread(target=func, args=("線程1",)) t2 = Thread(target=func, args=("線程2",)) t1.start() t2.start() print("主線程結束")

執行結果:

線程1開始
線程2開始
主線程結束
線程1結束
線程2結束

 

寫法二

import time
from threading import Thread


class MyThread(Thread):
    def __init__(self, name):  # 可以通過初始化來傳遞參數
        super(MyThread, self).__init__()
        self.name = name

    def run(self):  # 必須有的函數
        print(f"{self.name}開始")
        time.sleep(0.2)
        print(f"{self.name}結束")


if __name__ == '__main__':
    t1 = MyThread("線程1")  # 創建第一個線程,並傳遞參數
    t2 = MyThread("線程2")  # 創建第二個線程,並傳遞參數
    t1.start()  # 開啟第一個線程
    t2.start()  # 開啟第二個線程
    print("主線程執行結束,子線程是依附於主線程存在的,所以,子線程都結束后,主線程才真正的結束。")

執行結果:

線程1開始
線程2開始
主線程執行結束,子線程是依附於主線程存在的,所以,子線程都結束后,主線程才真正的結束。
線程1結束
線程2結束

兩種寫法效果是一樣的。


免責聲明!

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



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