python多進(jìn)程--交互

1.管道使用

成都創(chuàng)新互聯(lián)公司服務(wù)項(xiàng)目包括南縣網(wǎng)站建設(shè)、南縣網(wǎng)站制作、南縣網(wǎng)頁制作以及南縣網(wǎng)絡(luò)營銷策劃等。多年來,我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢、行業(yè)經(jīng)驗(yàn)、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機(jī)構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,南縣網(wǎng)站推廣取得了明顯的社會效益與經(jīng)濟(jì)效益。目前,我們服務(wù)的客戶以成都為中心已經(jīng)輻射到南縣省份的部分城市,未來相信會繼續(xù)擴(kuò)大服務(wù)區(qū)域并繼續(xù)獲得客戶的支持與信任!

'''
管道Pipe
'''
from multiprocessing import Process,Pipe

def f(conn):
    conn.send('child message')#給主進(jìn)程發(fā)送消息
    conn.close()
if __name__=='__main__':
    parent_conn,child_conn=Pipe()
    p=Process(target=f,args=(child_conn,))
    p.start()
    print(parent_conn.recv())#主進(jìn)程接收子進(jìn)程消息
    p.join()

2.Manage增強(qiáng)版pipe,可以接收字典,列表等

from multiprocessing import Process,Manager
import os

def f(d,l):#處理字典,列表函數(shù)
    d[1]='1'
    d['2']=2

    l.append(os.getpid())

if __name__=="__main__":
    manage_data=Manager()
    d=manage_data.dict()
    l=manage_data.list()

    p_list=[]
    for i in range(10):#建立10個進(jìn)程并調(diào)用公共函數(shù)f
        p = Process(target=f, args=(d, l))
        p.start()
        p_list.append(p)

    for res in p_list:
        res.join()

    print(d)
    print(l)

>>:
{1: '1', '2': 2}
[2472, 7972, 9760, 5328, 5488, 12316, 6780, 12592, 6676, 6408]      

3.進(jìn)程池與回調(diào)函數(shù)

from multiprocessing import Process,Pool
import time
import os

def Foo(i):
    time.sleep(2)
    print("in process",os.getpid())
    return i+100

def Bar(arg):
    print("-->exec done:",arg,os.getpid())

if __name__=='__main__':
    pool=Pool(processes=2)#同時(shí)運(yùn)行的進(jìn)程數(shù)
    print("main process",os.getpid())
    for i in range(10):
        pool.apply_async(func=Foo,args=(i,),callback=Bar)

    pool.close()
    pool.join()

>>:
main process 15704
in process 15336
in process 14796
-->exec done: 100 15704
-->exec done: 101 15704
in process 14796
in process 15336
-->exec done: 103 15704
-->exec done: 102 15704
in process 14796
in process 15336
-->exec done: 104 15704
-->exec done: 105 15704
in process 15336
in process 14796
-->exec done: 107 15704
-->exec done: 106 15704
in process 15336
in process 14796
-->exec done: 109 15704
-->exec done: 108 15704

本文題目:python多進(jìn)程--交互
鏈接分享:http://muchs.cn/article28/gpjpjp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站建設(shè)營銷型網(wǎng)站建設(shè)、標(biāo)簽優(yōu)化、靜態(tài)網(wǎng)站、App設(shè)計(jì)、外貿(mào)建站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

網(wǎng)站建設(shè)網(wǎng)站維護(hù)公司