python 多程序管道 訊息式通訊

2021-09-11 01:48:02 字數 889 閱讀 5002

from multiprocessing import process,pipe

# 匯入程序,管道模組

def f(conn):

conn.send([1,'test',none])

conn.send([2,'test',none])

print(conn.recv())

conn.close()

if __name__ == "__main__":

parent_conn,child_conn = pipe() #產生兩個返回物件,乙個是管道這一頭,乙個是另一頭

p = process(target=f,args=(child_conn,))

p.start()

print(parent_conn.recv())

print(parent_conn.recv())

parent_conn.send('father test')

p.join()

管道通訊效能測試,傳輸需要3ms左右,與多程序差不多。

# !/usr/bin/env python

# -*- coding: utf-8 -*-

import multiprocessing

import random

import time

import os

from multiprocessing import pipe

import cv2

class producer(multiprocessing.process):

def __init__(self, queue,parent_conn):

multiprocessing.process.__init__(self

Python多程序之Queue管道

from multiprocessing import process,queue 匯入程序的佇列模組,跟執行緒裡的是不一樣 deff q q.put 42,none,hello q.put test if name main 生成乙個佇列,然後將佇列傳給子程序,然後父程序就可以訪問這個子程序操作後...

Python 多程序程序池Queue程序通訊

from multiprocessing import pool,manager import time defhanshu queue,a n 1 while n 50 print r正在工作 d a,end n 1 步驟3 往佇列中傳送一條訊息 queue.put a time.sleep 2 ...

python多程序 python多程序

當有多個非相關任務需要處理時,並行能大大提高處理速度。這裡簡要介紹python的multiprocessing模組。簡單多程序編寫 當我們任務數量確定而且比較少的時候,可以手動為每個任務指定乙個程序來執行。import multiprocessing as mp def f a print a if...