[問題] Multiprocess 中 Process 回傳問題請教
看板Python作者wheado (principal component QQ)時間3年前發表 (2021/11/03 06:36), 3年前編輯推噓0(0推 0噓 0→)留言0則, 0人參與討論串1/1
我有兩個函數想要使用 python 中的 process 方法同時進行,
測試代碼已經寫好如下,基本上可以執行,
將這兩個函數的執行結果進行打印。
原先問題是希望回傳 list 並且其中元素是 dataframe 形式,
已經自行解決,代碼如下。
## ------------------------------------------
from multiprocessing import Process, Manager
import pandas
import time
def loop_a(ls, output):
for i in ls:
print(i)
time.sleep(1)
pass
output['a'] = pandas.Dataframe({'a':['finish a']})
return
def loop_b(ls, output):
for i in ls:
print(i)
time.sleep(0.5)
pass
output['b'] = pandas.Dataframe({'b':['finish b']})
return
manager = Manager()
output = manager.dict()
task_a = Process(target=loop_a, args=[[1,2,3,4,5], output])
task_b = Process(target=loop_b, args=[[6,7,8], output])
task_a.start()
task_b.start()
output.values()
## ---------------------------------------------------
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 111.254.34.165 (臺灣)
※ 文章網址: https://www.ptt.cc/bbs/Python/M.1635921410.A.D47.html
※ 編輯: wheado (111.254.34.165 臺灣), 11/03/2021 15:09:42
※ 編輯: wheado (111.254.34.165 臺灣), 11/03/2021 15:15:27