multiprocessing多程式資源共享

One of them發表於2018-08-23

multiprocessing程式之間的資源共享

# 程式.
# .list(), .dict(), .queue() 為Manager()的方法.
import multiprocessing


def func(alist):
    alist.append('a')
    print(alist)


# 根據結果可看到 父子程式的資源是不共享的.


if __name__ == '__main__':
    mlist = multiprocessing.Manager()  # 管理器, 建立一個程式空間來進行程式間的資源共享.
    alist = mlist.list()    # 建立一個list()方式.
    # print('a', alist)
    m = multiprocessing.Process(target=func, args=(alist,))
    m.start()
    m.join()  # 阻塞下, 等待任務結束.
    print(alist)

相關文章