worker
ในรหัสตัวอย่างด้านล่างฉันต้องการที่จะกู้คืนค่าตอบแทนของฟังก์ชั่น ฉันจะทำสิ่งนี้ได้อย่างไร ค่านี้ถูกเก็บไว้ที่ไหน?
รหัสตัวอย่าง:
import multiprocessing
def worker(procnum):
'''worker function'''
print str(procnum) + ' represent!'
return procnum
if __name__ == '__main__':
jobs = []
for i in range(5):
p = multiprocessing.Process(target=worker, args=(i,))
jobs.append(p)
p.start()
for proc in jobs:
proc.join()
print jobs
เอาท์พุท:
0 represent!
1 represent!
2 represent!
3 represent!
4 represent!
[<Process(Process-1, stopped)>, <Process(Process-2, stopped)>, <Process(Process-3, stopped)>, <Process(Process-4, stopped)>, <Process(Process-5, stopped)>]
ฉันไม่พบคุณลักษณะที่เกี่ยวข้องในวัตถุที่เก็บไว้ jobs
ฉันไม่สามารถดูเหมือนจะหาแอตทริบิวต์ที่เกี่ยวข้องในวัตถุที่เก็บไว้ใน
multiprocessing.Queue
มากกว่าManager
ที่นี่ การใช้Manager
ต้องมีการวางไข่กระบวนการใหม่ทั้งหมดซึ่งเกินขีดเมื่อมีการQueue
ทำ