我在使用管理器時遇到了一些問題。我想讓兩個進程訪問一個列表,一個寫一個讀它。但是數據已經損壞,所以我試圖在這里發布一個示例?,F在,我還有另一個問題。我將一個列表作為參數傳遞給函數,但代碼不起作用,并說我傳遞了兩個參數而不是一個。這是代碼:導入多處理def mde(dad): for i in range(100): for j in range(10): dad[0] = i dad[1] = jdef mda(dad): c = 0 while c < 1001: print(dad) c += 1if __name__ == '__main__': manager = multiprocessing.Manager() dado = manager.list([0, 0]) print(dado) p1 = multiprocessing.Process(target=mde, args=dado) p2 = multiprocessing.Process(target=mda, args=dado) p1.start() p2.start() p1.join() p2.join()
1 回答

阿晨1998
TA貢獻2037條經驗 獲得超6個贊
將您的 args 作為元組發送:
import multiprocessing
def mde(dad):
for i in range(100):
for j in range(10):
dad[0] = i
dad[1] = j
def mda(dad):
c = 0
while c < 1001:
print(dad)
c += 1
if __name__ == '__main__':
manager = multiprocessing.Manager()
dado = manager.list([0, 0])
print(dado)
p1 = multiprocessing.Process(target=mde, args=(dado,))
p2 = multiprocessing.Process(target=mda, args=(dado,))
p1.start()
p2.start()
p1.join()
p2.join()
添加回答
舉報
0/150
提交
取消