情景假設,多進程并行處理列表temp1里的數據,并將結果存入list2
import multiprocessing
import osdef mission(i,list1,list2):temp=list1[i]list2[i]=tempif __name__ == "__main__":#情景假設,temp1里的數據多進程并行處理完以后,結果存入list2temp1=list([[1,2],[3,4]])manager=multiprocessing.Manager()list1=manager.list(temp1)list2=manager.list([0]*len(list1))#占位# 設置一個允許多個進程并發的進程池,進程數為CPU核心數pool = multiprocessing.Pool(processes = os.cpu_count())for i in range(2):# 將進程放到進程池,tuple里表示傳遞給mission的參數#pool.apply(mission, (i,list1,list2,)) #按順序pool.apply_async(mission, (i,list1,list2,)) #不按順序# 扔了 1000個進程進進程池后,關閉進程池,不允許新的進程加入pool.close()# 運行進程池中的進程pool.join()# print(list1)# print(list2)for i in list2:print(i)
版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。
工作时间:8:00-18:00
客服电话
电子邮件
admin@qq.com
扫码二维码
获取最新动态