1. 程式人生 > >Python多進程-進程間數據的傳遞

Python多進程-進程間數據的傳遞

args gpo bubuko mage import image 反序 子進程 targe

兩個進程間的數據是獨立的,要進行數據傳遞的話可通過幾個方法

Queue

# -*- coding:utf-8 -*-
__author__ = "MuT6 Sch01aR"

from multiprocessing import Process, Queue

def Child_Process(n):
    n.put("Data From Child Process")

if __name__ == ‘__main__‘:
    q = Queue()
    p = Process(target=Child_Process, args=(q,))
    p.start()
    print(q.get())
    p.join()

運行結果

技術分享圖片

父進程中聲明了一個queue,也生成了一個子進程,然後父進程把queue克隆一份,然後通過pickle序列化queue,再把queue進行pickle反序列化傳入子進程

兩個進程之間通過進程queue進行數據傳遞需要經過pickle的序列化和反序列化

Python多進程-進程間數據的傳遞