Python程序实现创建一个队列,该队列用于两个进程之间通信,大小不限。每个进程的任务函数中需要能打印输入信息和输出信息
时间: 2023-06-01 12:05:28 浏览: 90
Python队列、进程间通信、线程案例
可以使用Python的multiprocessing模块来实现创建一个队列,用于两个进程之间通信。
首先,需要导入multiprocessing模块:
```
import multiprocessing
```
接着,可以定义一个任务函数,该函数接受一个队列作为参数,并将输入信息放入队列中,并且从队列中获取输出信息。
```
def task(queue):
input_msg = input('请输入信息:')
queue.put(input_msg)
output_msg = queue.get()
print('输出信息:', output_msg)
```
然后,在主程序中,可以创建一个队列,并将其作为参数传递给两个进程的任务函数。
```
if __name__ == '__main__':
queue = multiprocessing.Queue()
p1 = multiprocessing.Process(target=task, args=(queue,))
p2 = multiprocessing.Process(target=task, args=(queue,))
p1.start()
p2.start()
p1.join()
p2.join()
```
这里,创建了一个队列,然后定义了两个进程p1和p2,它们分别执行任务函数task,并将队列作为参数传递给该函数。最后,启动两个进程,并等待它们完成。
当运行程序时,会提示输入信息。输入信息后,该信息会被放入队列中,并且任务函数中会从队列中获取输出信息,并将其打印出来。
注意:该队列的大小不限,因此可以放入任意数量的信息。
阅读全文