在之前的一些文章之中小编大多数来给大家讲解和介绍的知识都是某些方法的实现或者是使用教程,但是这些都是比较浅显只需要知道用法的知识 。那么这篇文章会涉及到底层系统相关的进程间通信知识,感兴趣的和想要了解的小伙伴可以继续阅读哦 。
文章插图
一、进程间通信
【Python进程间通信代码怎么写?Python如何用队列实现进程间通信】进程是计算机系统进行资源分配和调度的基本单位,用最简单的话来说就是,一个程序运行时会给它去分配资源,那么该程序就是一个进程,或者是在进程上去运行 。那么进程间通信就是通过公共的共享内存空间,来实现数据的交换或者是信息传输 。
例如现在有一个python进程需要向另外一个进程传输一个信息,那么另外一个进程接收信息就是完成了一次进程间通信操作 。
二、python队列实现进程间通信
Python能够完成进程间通信的基础就是创建多进程,所以需要先将multiprocessing这个第三方库给导入进来,然后去写两个函数 。函数其一就是向队列中写入数据,而函数其二就是从队列中读取数据 。这个队列就相当于上文提到的共享内存空间,而实际上消息都是顺序排列在其中的,它更像是一个管道,代码如下:
from multiprocessing import Process, Queueimport timedef write_task(q): if not q.full(): for i in range(5): q.put(message) print("写入:%s" % "消息" + str(i))def read_task(q): time.sleep(1) while not q.empty(): print("读取:%s" % q.get(True, 2))那么调用这两个函数的代码就需要写在main语句块之中,先调用Queue()方法来创建进程,然后再用Process()方法将消息传递给队列 。之后就是启动子进程和父进程,然后等待进程结束了,详细代码如下:
if __name__ == "__main__": q = Queue() pw = Process(target=write_task, args=(q,)) pr = Process(target=read_task, args=(q,)) pw.start() pr.start() pw.join() pr.join()以上就是关于“Python进程间通信代码怎么写?Python如何用队列实现进程间通信”的全部内容了,希望对你有所帮助 。
推荐阅读
- Python中split函数的返回值是什么?Python中split函数实例用法讲解
- Python中的cmp函数有什么用?Python中cmp()函数的使用方法
- vscode配置python终端不显示怎么办?vscode配置python终端不输出的解决办法
- Python怎么提取音乐频谱?Python如何绘制可视化音乐频谱图
- 用空气炸锅烤红薯多少温度和时间要不要放油
- Python如何使用unicode编码?Python使用unicode编码格式的方法
- Pyecharts在Python可视化中有什么用?Pyecharts在数据可视化中的应用详解
- Python命令行中的cd命令有什么含义?Python中如何执行cd命令?
- Python如何对打乱的字符串排序?Python乱序字符串排序的实现方法
- Python可视化神器如何画制饼状图?Python中绘制饼状图的方法