python多執行緒 8 多執行緒與多程序對比

2021-08-31 07:46:32 字數 1178 閱讀 3578

#多程序程式設計

#耗cpu的操作,用多程序程式設計,對於io操作來說,使用多執行緒程式設計,程序切換代價要高於執行緒

import time

from concurrent.futures import threadpoolexecutor,processpoolexecutor,as_completed

#1、對於耗費cpu的操作,多程序優於多執行緒

def fib(n):

if n<=2:

return 1

else:

return fib(n-1) + fib(n-2)

# if __name__ == "__main__":

# start_time = time.time()

# with threadpoolexecutor(5) as executor:

# #processpoolexecutor

# all_task = [executor.submit(fib,(x)) for x in range(30,45)]

# for future in as_completed(all_task):

# data = future.result()

# print(data)

# print(time.time()-start_time)

#2.對於io操作來說,多執行緒優於多程序

def random_sleep(n):

time.sleep(n)

return n

if __name__ == "__main__":

start_time = time.time()

with threadpoolexecutor(5) as executor:

#processpoolexecutor

all_task = [executor.submit(random_sleep,(x)) for x in [2]*20]

for future in as_completed(all_task):

data = future.result()

print(data)

print(time.time()-start_time)

python多執行緒 python多執行緒

通常來說,多程序適用於計算密集型任務,多執行緒適用於io密集型任務,如網路爬蟲。關於多執行緒和多程序的區別,請參考這個 下面將使用python標準庫的multiprocessing包來嘗試多執行緒的操作,在python中呼叫多執行緒要使用multiprocessing.dummy,如果是多程序則去掉...

python多執行緒詳解 Python多執行緒詳解

前言 由於最近的工作中一直需要用到python去處理資料,而在面對大量的資料時,python多執行緒的優勢就展現出來了。因而藉此機會,盡可能詳盡地來闡述python多執行緒。但對於其更底層的實現機制,在此不做深究,僅是對於之前的一知半解做個補充,也希望初學者能夠通過這篇文章,即便是照葫蘆畫瓢,也能夠...

python程式多執行緒 PYTHON多執行緒

在單執行緒的情況下,程式是逐條指令順序執行的。同一時間只做乙個任務,完成了乙個任務再進行下乙個任務。比如有5個人吃飯,單執行緒一次只允許乙個人吃,乙個人吃完了另乙個人才能接著吃,假如每個人吃飯都需要1分鐘,5個人就需要5分鐘。多執行緒的情況下,程式就會同時進行多個任務,雖然在同一時刻也只能執行某個任...