1. 程式人生 > >7 並發編程-(線程)-開啟線程的兩種方式

7 並發編程-(線程)-開啟線程的兩種方式

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 並發編程-(線程)-開啟線程的兩種方式