多執行緒用於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 程序是作業系統分配資源的最小單元 執行緒是作業系...