Python3-程序執行緒入門基礎實踐
阿新 • • 發佈:2021-01-11
宣告:參考B站自學成長記錄
https://www.bilibili.com
程序 / 執行緒概念
程序:(Process)
是計算機中的程式關於某資料集合上的一次執行活動,是系統進行資源分配和排程的基本單位,是作業系統結構的基礎
執行緒:(thread)
是作業系統能夠進行運算排程的最小單位。它被包含在程序之中,是程序中的實際運作單位
一條執行緒指的是程序中一個單一順序的控制流,一個程序中可以併發多個執行緒,每條執行緒並行執行不同的任務
程式碼示例
# coding=utf-8 from threading import Thread from multiprocessing import Process import time def t_run(): # 執行緒函式 time.sleep(1) def threed_console(num): """ 多執行緒示例 :param num: 表示啟動多少個執行緒 :return: None """ t_list = [] # 執行緒列表:存放多個已啟動的執行緒 t_s_time = time.time() # num個執行緒執行開始時間 for i in range(num): # 迴圈建立num個執行緒 t = Thread(target=t_run,) # 建立執行緒 t.start() # 啟動執行緒 t_list.append(t) # 將啟動的執行緒新增到 執行緒列表 [tt.join() for tt in t_list] # join方法讓主執行緒等待所有子執行緒結束後, 主執行緒再結束 t_e_time = time.time() # num個執行緒執行結束時間 # 統計執行結果 print("{}個執行緒總耗時:{:.2f}s".format(num, t_e_time - t_s_time)) def p_run(): # 程序函式 time.sleep(1) def process_console(num): """ 多程序示例 :param num: 表示啟動多少個程序 :return: None """ p_list = [] # 程序列表,存放多個已啟動的程序 p_s_time = time.time() # num個程序執行開始時間 for i in range(num): # 迴圈啟動num個執行緒 p = Process(target=p_run,) # 建立程序 p.start() # 啟動程序 p_list.append(p) # 將啟動的程序新增到 程序列表 [pp.join() for pp in p_list] # join方法讓主程序等待所有子程序結束後, 主程序再結束 p_e_time = time.time() # # num個程序執行結束時間 # 統計執行結果 print("{}個程序總耗時:{:.2f}s".format(num, p_e_time - p_s_time)) if __name__ == '__main__': threed_console(5) process_console(5)
執行結果