第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

python多處理池阻塞主線程

python多處理池阻塞主線程

慕桂英546537 2021-08-05 15:19:45
我有以下代碼段,它嘗試跨多個子流程拆分處理。def search(self):    print("Checking queue for jobs to process")    if self._job_queue.has_jobs_to_process():        print("Queue threshold met, processing jobs.")        job_sub_lists = partition_jobs(self._job_queue.get_jobs_to_process(), self._process_pool_size)        populated_sub_lists =  [sub_list for sub_list in job_sub_lists if len(sub_list) > 0]        self._process_pool.map(process, populated_sub_lists)        print("Job processing pool mapped")主進(jìn)程在 while 循環(huán)中調(diào)用搜索函數(shù),如果隊列達(dá)到閾值計數(shù),則處理池將映射到進(jìn)程函數(shù),其中包含來自隊列的作業(yè)。我的問題是,python 多處理池是在執(zhí)行期間阻塞主進(jìn)程還是立即繼續(xù)執(zhí)行?我不想遇到“has_jobs_to_process()”評估為真的情況,在處理作業(yè)的過程中,它為另一組作業(yè)評估為真,并調(diào)用“self._process_pool.map(process,populated_sub_lists)”再次因為我不知道在進(jìn)程運行時再次調(diào)用 map 的后果。
查看完整描述

2 回答

?
函數(shù)式編程

TA貢獻(xiàn)1807條經(jīng)驗 獲得超9個贊

multiprocessing.Pool.map阻塞調(diào)用線程(不一定是 MainThread?。?strong>而不是整個過程。父進(jìn)程的其他線程不會被阻塞。您可以pool.map從父進(jìn)程中的多個線程調(diào)用而不會破壞事物(雖然沒有多大意義)。那是因為它在內(nèi)部Pool使用線程安全queue.Queue_taskqueue.


查看完整回答
反對 回復(fù) 2021-08-05
?
不負(fù)相思意

TA貢獻(xiàn)1777條經(jīng)驗 獲得超10個贊

從 multiprocessing 文檔中,multiprocessing.map將在執(zhí)行期間阻塞主進(jìn)程,直到結(jié)果準(zhǔn)備好,并且multiprocessing.map_async不會。


查看完整回答
反對 回復(fù) 2021-08-05
  • 2 回答
  • 0 關(guān)注
  • 251 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號