美文网首页
Python进程间通信

Python进程间通信

作者: 卡门001 | 来源:发表于2023-05-22 02:03 被阅读0次

进程通信

多线程通信简称IPC(IPC(Inter-Process Communication),多进程间无法直接实现数据交互,需要通过如下方式实现进程之间通讯

  • 管道:pipe 基于共享的内存空间
  • 队列:pipe+锁的概念--->queue
  • 共享内存

队列 - Queue()

from multiprocessing import Queue
  • 2.1 概念-----multiProcess.Queue
    创建共享的进程队列,Queue是多进程安全的队列,可以使用Queue实现多进程之间的数据传递。

Queue([maxsize])创建共享的进程队列。
参数 :maxsize是队列中允许的最大项数。如果省略此参数,则无大小限制。
底层队列使用管道和锁定实现。

  • 2.2 Queue方法使用
    2.2.1 q.get的使用:
    是从队列里面取值并且把队列面的取出来的值删掉,没有参数的情况下就是是默认一直等着取值
    就算是队列里面没有可取的值的时候,程序也不会结束,就会卡在哪里,一直等着
from multiprocessing import Queue
q = Queue(3) # 生成一个队列对象,当队列超过了3个等待数据时,第4个会阻塞直接队列有数据消耗完成
###### put方法是往队列里面放值
q.put('1')
q.put('2')
q.put('3')
q.put('4') #阻塞
###### 其他方法:q.full() 是否满了 q.empty()是否空队列


###### get方法是从队列里面取值
print(q.get())
print(q.get())
print(q.get())

详情官方文档
https://docs.python.org/zh-cn/3/library/multiprocessing.html
注意:部分方法只在windows上有效

管道:Pipe()

from multiProcessing  import Pipe

parent,child = Pepe() #管道默认情况下是双工的,即parent与child都有send()和recv()方法

官网:https://docs.python.org/zh-cn/3/library/multiprocessing.html

共享内存 - 进程内同步

from multiprocessing import shared_memory
shm = shared_memory.SharedMemory(create=True, size=10)

共享内存使用较少,日常工程应用中,如果需要共享内存一般是用redis等三方库或工具作为媒介

相关文章

  • 【python】进程间通信:Queue的详细用法

    关于python 进程间通信 Process之间有时需要通信,操作系统提供了很多机制来实现进程间的通信。 进程间通...

  • linux进程间通信(1)

    一、进程通信概述 1、什么是进程间通信?什么是线程间通信? 进程间通信: 进程间通信就指的是用户空间中进程A与进程...

  • Python的进程间通信

    进程状态和调度 在程序运行的时候,由于被操作系统的调度算法控制,程序会进入几个状态:就绪,运行,阻塞1. 就绪状态...

  • 第二十三章 进程间通信介绍(一)

    本章目标: 进程同步与进程互斥 进程间通信目的 进程间通信发展 进程间通信分类 进程间共享信息的三种方式 IPC对...

  • 进程间的通信

    进程间的通信主要分为本机器进程间的通信和不同机器间进程的通信。本文主要描述本机进程间的通信。 一、传统Linux的...

  • Python多进程

    目录:一、进程的状态二、进程的创建三、进程间通信四、进程池 Python并发之多进程 一、进程的状态 工作中,任务...

  • python多进程——进程间的通信

    前言 日常工作中,会遇到一些测试数据库抗压能力的需求,这时候就需要使用到python的多进程模块,能够并行的执行任...

  • 进程间通信

    进程间通信 进程空间相对独立,资源无法相互获取,此时在不同进程间通信需要专门方法 进程间通信就是在不同的进程间进行...

  • 进程间通信,线程间通信

    进程间通信 进程间通信又称IPC(Inter-Process Communication),指多个进程之间相互通信...

  • Android IPC机制

    IPC 即Inter-Process-Communication,含义是进程间通信/跨进程通信。是指多个进程间通信...

网友评论

      本文标题:Python进程间通信

      本文链接:https://www.haomeiwen.com/subject/ulvzsdtx.html