python中管道用法入门,举个例子

来源:3lian.com时间:2018-05-11 14:02:22
python中管道用法入门,举个例子

  

1

  

2

  

3

  

4

  

5

  

6

  

7

  

8

  

9

  

10

  

11

  

12

  

13

  

14

  

15

  

16

  

17

  

18

  

19

  

20

  

21

  

22

  

23

  

24

  

25

  

26

  

27

  

28

  

29

  

30

  

31

  

  

  

#!coding=utf-8

  

import multiprocessing

  

def consumer(pipe):

  

output_p , input_p = pipe

  

input_p.close() #关闭管道的输入端

  

while True:

  

try:

  

item = output_p.recv()

  

except EOFError:

  

break

  

print item

  

print ("consumer done")

  

#生产项目并将其放到队列上

  

def producer(sequence, input_p):

  

for item in sequence:

  

input_p.send(item)

  

if __name__ == "__main__":

  

#创建管道

  

(output_p , input_p ) = multiprocessing.Pipe()

  

#启动使用者进程

  

cons_p = multiprocessing.Process(target=consumer, args=((output_p , input_p ),))

  

cons_p.start()

  

#关闭生产者中的输出管道

  

output_p.close()

  

#生产项目

  

sequence = [1,2,3,4]

  

producer(sequence, input_p)

  

#关闭输入管道,表示完成

  


input_p.close()

  

#等待使用者进行关闭

  

cons_p.join()

  

  

  希望本文所述对大家的Python程序设计有所帮助。

文章内容来源于网络,不代表本站立场,若侵犯到您的权益,可联系我们删除。(本站为非盈利性质网站) 联系邮箱:rjfawu@163.com