python 多核并行计算 示例3,使用 管道 Pipe(工作太忙,仅仅作为记录)

2021/9/6 17:08:46

本文主要是介绍python 多核并行计算 示例3,使用 管道 Pipe(工作太忙,仅仅作为记录),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

import multiprocessing as mul

# 管道 Pipe:
# Pipe可以是单向(half-duplex),也可以是双向(duplex)。
# 通过mutiprocessing.Pipe(duplex=False)创建单向管道 (默认为双向)。
# 一个进程从PIPE一端输入对象,然后被PIPE另一端的进程接收,
# 单向管道只允许管道一端的进程输入,而双向管道则允许从两端输入。

def proc1(pipe):
    pipe.send('hello')
    print('proc1 rec:', pipe.recv())


def proc2(pipe):
    print('proc2 rec:', pipe.recv())
    pipe.send('hello, too')


# Build a pipe
pipe = mul.Pipe()

if __name__ == '__main__':
    # Pass an end of the pipe to process 1
    p1 = mul.Process(target=proc1, args=(pipe[0],))
    # Pass the other end of the pipe to process 2
    p2 = mul.Process(target=proc2, args=(pipe[1],))

    # 非阻塞函数
    p1.start()
    p2.start()

    # 阻塞函数
    p1.join()
    p2.join()

 



这篇关于python 多核并行计算 示例3,使用 管道 Pipe(工作太忙,仅仅作为记录)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程