Python_執行緒池 簡單示例
阿新 • • 發佈:2020-07-22
from concurrent.futures import ThreadPoolExecutor import time import random def start(): ''' 主方法 ''' # 待處理列表 # 將此列表作為引數傳遞給執行緒池的執行器, # 執行緒池會根據為列表中的每項單獨分配一個執行緒, # 並執行預定義方法。 lsn = range(100) # 執行緒池中的執行緒數 threadCount = 3 # 使用執行緒池對列表執行預定義方法 with ThreadPoolExecutor(threadCount) as e: e.map(threadFunction, lsn) lre = [] # 使用執行緒池對列表執行預定義方法,並將返回結果加入列表 with ThreadPoolExecutor(threadCount) as e: lre.append(e.map(threadFunction, lsn)) print(lre) def threadFunction(sn): ''' 執行緒執行方法 ''' print(getTimeStamp(),sn) # 隨機休眠 time.sleep(random.randint(1,10)/10) return sn def getTimeStamp(): # 時間戳 毫秒 shm = str(int(time.time()*1000))[-3:] return time.strftime("%Y%m%d_%H%M%S_", time.localtime()) + shm if __name__ == "__main__": start() threadFunction()