7 並發編程-(線程)-開啟線程的兩種方式
阿新 • • 發佈:2018-09-30
tip clas 兩種 pri __main__ 默認 主線程 self rgs
thread/英 /θred/ 美 /θr?d/ 線程
1、threading模塊介紹
multiprocess模塊的完全模仿了threading模塊的接口,二者在使用層面,有很大的相似性,因而不再詳細介紹
2、開啟線程的兩種方式
2.1、方式一
from threading import Thread import time def task(name): print(f"{name} is running") time.sleep(2) print(f"{name} is done") if __name__ == ‘__main__‘: p = Thread(target=task,args=(‘alex‘,)) p.start() print(‘主‘) # 執行程序就開了一個 主進程; 主進程下默認有一個線程 # 該程序 從執行的角度來看是主線程,從資源的角度來看是主進程
2.2、方式二
必須有 run函數
from threading import Thread import time class task(Thread): def __init__(self,name): super().__init__() self.name= name def run(self): # 必須是 -----run函數------- print(f"{self.name} is running") time.sleep(2) print(f"{self.name} is done") if __name__ == ‘__main__‘: p = task(‘alex‘) p.start() print(‘主線程‘)
3、練習題
3.1、基於多線程實現並發套接字通信
3.2、編寫一個簡單的文本處理工具,具備三個任務:
一個接收用戶輸入,
一個將用戶輸入三內容格式化成大寫
一個將格式化的結果存入文件
7 並發編程-(線程)-開啟線程的兩種方式