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

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

在Python中循環(huán)不將值花費到數(shù)組

在Python中循環(huán)不將值花費到數(shù)組

皈依舞 2024-01-12 10:24:43
運行此代碼時,它僅在末尾打印出一個空白數(shù)組:[]那么為什么它不附加值a或值b呢?import multiprocessing as muarray_values=[]def a(array):    array.append('a')def b(array):    array.append('b')def runInParallel(*fns):    z=0    while z<6:        if __name__=='__main__':            proc = []            for fn in fns:                p = mu.Process(target=fn,args=(array_values,))                p.start()                proc.append(p)            for p in proc:                p.join()        z+=1runInParallel(a,b)print(array_values)期望的函數(shù)最終輸出:['a','b','a','b','a','b','a','b','a','b','a','b']提前致謝!
查看完整描述

1 回答

?
墨色風雨

TA貢獻1853條經(jīng)驗 獲得超6個贊

它不說話的原因是因為multiprocessing不使用共享內(nèi)存。

您可以使用以下代碼來獲取所需的輸出(它使用threading共享內(nèi)存):

import threading


array_values = []



def a(array):

? ? array.append('a')



def b(array):

? ? array.append('b')



def runInParallel(*fns):

? ? z = 0

? ? while z < 6:

? ? ? ? if __name__ == '__main__':

? ? ? ? ? ? proc = []

? ? ? ? ? ? for fn in fns:

? ? ? ? ? ? ? ? p = threading.Thread(target=fn, args=(array_values,))

? ? ? ? ? ? ? ? p.start()

? ? ? ? ? ? ? ? proc.append(p)

? ? ? ? ? ? for p in proc:

? ? ? ? ? ? ? ? p.join()

? ? ? ? z += 1



runInParallel(a, b)

print(array_values)


查看完整回答
反對 回復 2024-01-12
  • 1 回答
  • 0 關(guān)注
  • 136 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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