亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

您的位置:首頁技術(shù)文章
文章詳情頁

python 多進(jìn)程使用

瀏覽:84日期:2022-08-01 17:10:45

問題描述

假設(shè):有個數(shù)據(jù)操作,處理100萬條數(shù)據(jù),每個數(shù)據(jù)的value+1。如簡單代碼假設(shè)

for x in range(1,100): x++

從數(shù)據(jù)庫獲取100條了,然后想多進(jìn)程去執(zhí)行x++?還是說多進(jìn)程去數(shù)據(jù)庫獲取數(shù)據(jù)?謝謝了

問題解答

回答1:

有一個問題: 如果是數(shù)據(jù)庫里面的數(shù)據(jù), 為什么不執(zhí)行sql,這比什么多進(jìn)程要高效的多吧?如果非要你給出的二選一, 那么考慮一下:

1). 如果你要用多進(jìn)程去數(shù)據(jù)庫獲取數(shù)據(jù)(就算你用了mysql連接池,可以不怎么考慮數(shù)據(jù)庫連接的io消耗),你每取一次數(shù)據(jù),總要有一次查詢吧, 完了以后,你還要把更新后的數(shù)據(jù)寫入到數(shù)據(jù)庫了, 又是一次數(shù)據(jù)庫操作,想想這個消耗有多大?2). 數(shù)據(jù)庫獲取100萬數(shù)據(jù),然后想多進(jìn)程去執(zhí)行x++; 這種情況啊,只要計算機內(nèi)存夠(只有100萬數(shù)據(jù),基本是沒問題的), 用python的進(jìn)程池map一下,確實也是沒什么問題回答2:

先將原始數(shù)據(jù)存入隊列(queue)中,作為生產(chǎn)者后從隊列中取數(shù)據(jù),執(zhí)行操作,作為消費者這時,可以在消費者開多線程(當(dāng)然你鎖處理得好的話,生產(chǎn)者也可以做多線程)

while tmp_queue.empty() is not True: x = tmp_queue.get() x += 1

在隊列中,如果一直存在元素線程會持續(xù)進(jìn)行操作。

回答3:

其實Python中實現(xiàn)多進(jìn)程的最佳方式是使用multiprocessing中的map

例子(Python 3):

# f.py# 要對某個列表中每個元素都執(zhí)行一次的functiondef f(x): return x + 1

# main.pyfrom multiprocessing import poolfrom f import f# 創(chuàng)建進(jìn)程池p = pool.Pool(4)lst = range(100)# 使用多進(jìn)程對整個列表進(jìn)行計算print(p.map(f, lst))回答4:

你可以直接把數(shù)據(jù)讀取和數(shù)據(jù)+1兩個函數(shù)再寫到一個操作中啊,然后用多進(jìn)程去操作,就上樓上說的一樣用進(jìn)程池進(jìn)行操作。根據(jù)你的cpu核數(shù),設(shè)置進(jìn)程池的大小。由于多進(jìn)程間不進(jìn)行內(nèi)存共享、也不能直接通信,你先用多進(jìn)程從數(shù)據(jù)庫中把所有數(shù)據(jù)讀出來,然后再用多進(jìn)程進(jìn)行val+1也行的

標(biāo)簽: Python 編程
相關(guān)文章:
主站蜘蛛池模板: 日韩欧美一区二区久久黑人 | 一级毛片免费在线播放 | 亚洲高清国产拍精品影院 | 玖玖玖视频在线观看视频6 玖玖视频精品 | a一级视频| 欧美成人高清免费大片观看 | 久久www免费人成看片色多多 | 播放一级黄色录像 | 国产精品亚洲综合色拍 | 久久国产精品久久久久久 | 性做久久久久免费看 | 日韩视频大全 | 亚洲欧美一区二区三区久本道 | 中国国产高清一级毛片 | 国内在线观看精品免费视频 | 中国黄色片视频 | 国产乱码精品一区二区三 | 午夜毛片不卡高清免费 | 国产精品久久久久久久久久一区 | 免费黄色片网址 | 一级中文字幕 | 欧美大尺度交性视频 | 国产三级日本三级在线播放 | www.国产嫩草在线观看 | 亚洲国产片 | 成人午夜国产福到在线 | 大片免免费观看视频播放网站 | 免费视频不卡一区二区三区 | 91视频第一页 | 色黄网站成年女人色毛片 | 久久久久久久久免费视频 | 欧美黄色a级 | 久久99国产亚洲精品 | 国产欧美日韩精品一区二区三区 | 欧美在线成人午夜网站 | 手机看片福利日韩 | 一级裸片| 欧美噜噜 | 一级网站在线观看 | 在线观看福利视频在线观看 | 国产一级片免费 |