随风飞世 发表于 2017-4-21 11:19:05

python 管道

  #!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 =
  producer(sequence, input_p)
  #关闭输入管道,表示完成
  input_p.close()
  #等待使用者进行关闭
  cons_p.join()
页: [1]
查看完整版本: python 管道