python多執行緒與多程序的選擇,以及優劣勢

2021-08-20 19:53:56 字數 1312 閱讀 5070

多執行緒用於io密集型,如socket,爬蟲,web

多程序用於計算密集型,如金融分析

如果四個任務是計算密集型,多核意味著平行計算,在python中乙個程序中同一時刻只有乙個執行緒執行用不上多核,方案一勝

如果四個任務是i/o密集型,再多的核也解決不了i/o問題,方案二勝

from multiprocessing import process

from threading import thread

import os,time

defwork

(): res=0

for i in range(100000000):

res*=i

if __name__ == '__main__':

l=cpu = os.cpu_count()

print(os.cpu_count()) #本機為4核

start=time.time()

for i in range(cpu):

p=process(target=work) #耗時5s多

p=thread(target=work) #耗時18s多

p.start()

for p in l:

p.join()

stop=time.time()

print('run time is %s' %(stop-start))

from multiprocessing import process

from threading import thread

import threading

import os,time

defwork

(): time.sleep(2)

print('===>')

if __name__ == '__main__':

l=print(os.cpu_count()) #本機為4核

start=time.time()

for i in range(400):

# p=process(target=work) #耗時12s多,大部分時間耗費在建立程序上

p=thread(target=work) #耗時2s多

p.start()

for p in l:

p.join()

stop=time.time()

print('run time is %s' %(stop-start))

Python 多執行緒與多程序

前言 以前玩單機或者玩小資料集,都基本不用多執行緒或多程序都能基本滿足需求了 所以沒怎麼了解這方面的東西。但現在玩幾百萬甚至上千萬的資料,甚至集群等東西之後,就有必要學習多執行緒或多程序了。在python中首先要匯入相關的模組 import threading as td import multip...

python 多執行緒與多程序

程序與執行緒的區別 程序 應用程式的執行例項,每乙個執行中的程式就是乙個程序 執行緒 程序的組成部分,乙個程序可以擁有多個執行緒 在多執行緒中,會有乙個主線程來完成整個程序從開始到結束的全部操作,而其他的執行緒會在主線程的執行過程中被建立或退出。python景區賣票系統 多執行緒的應用 import...

Python多執行緒與多程序

python多執行緒與多程序 程序 process 和執行緒 thread 是非常抽象的概念,也是程式設計師必需掌握的核心知識!多程序和多執行緒程式設計對於 的併發執行,提公升 效率和縮短執行時間至關重要。程序 process 和執行緒 thread 程序是作業系統分配資源的最小單元 執行緒是作業系...