"""    IPC  进程间通讯    由于进程之间内存是相互独立的 所以需要对应积极而方案 能够使得进程之间可以相互传递数据

    1.使用共享文件,多个进程同时读写同一个文件        IO速度慢,传输数据大小不受限制

    2.管道 是基于内存的,速度快,但是是单向的 用起来麻烦(了解)

    3.申请共享内存空间,多个进程可以共享这个内存区域(重点)        速度快但是 数据量不能太大"""

from multiprocessing import Process, Manager, Lock

def work(d):    d["count"] -= 1

if __name__ == '__main__':    with Manager() as m:  # 申请一个共享的内存空间,命名为m        dic = m.dict({"count": 100})  # 把count = 100 共享        p_l = []        for i in range(100):            p = Process(target=work, args=(dic,))            p_l.append(p)            p.start()        for p in p_l:            p.join()        print(dic)

"""    ----排队输出----    队列   不只用于进程间通讯    也是一种常见的数据容器

    其特点是:先进先出    其优点是:可以保证数据不会错乱 即使在多进程下  因为其put和get默认都是阻塞的

    对比堆栈刚好相反 :后进先出    put默认会阻塞 当容器中已经装满了    get默认会阻塞 当容器中已经没有数据了

"""from multiprocessing import Queue

q = Queue(1)  # 创建一个队列 最多可以存一个数据q.put("张三")print(q.get())q.put("李四")  # put默认会阻塞 当容器中已经装满了print(q.get())print(q.get())  # get默认会阻塞 当容器中已经没有数据了print("over")

q = Queue(1)  # 创建一个队列 最多可以存一个数据q.put("张三")# q.put("李四", False)  # 第二个参数 设置为False表示不会阻塞 无论容器是满了 都会强行塞 如果满了就抛异常print(q.get())print(q.get(timeout=3))  # timeout 仅用于阻塞时,等待的时间

转载于:https://www.cnblogs.com/wenchen/p/10196790.html

IPC 进程间通讯,排队输出--day33相关推荐

  1. android IPC 进程间通讯

    参考资料: http://blog.csdn.net/birdsaction/article/details/39451849 在这里我说一下学习技术的方法,别人的博客,别人的东西,再简单,自己没有写 ...

  2. Android中进程间通讯 AIDL

    Android中进程间通讯 AIDL IDL Interface Description Language  接口描述语言 AIDL Android IDL 适用场景:    client进程必须是A ...

  3. 进程间通讯(IPC)(有信号捕捉函数)

    1.IPC(Internal Processes Communication) 进程间通讯--->实际上数据的交换. 通过全局变量的方式实现不了进程间通讯 因为进程内存空间,都是相互独立的,不能 ...

  4. QSharedMemory共享内存实现进程间通讯(IPC)及禁止程序多开

    版权声明:若无来源注明,Techie亮博客文章均为原创. 转载请以链接形式标明本文标题和地址: 本文标题:QSharedMemory共享内存实现进程间通讯(IPC)及禁止程序多开     本文地址:h ...

  5. Android(IPC)进程间通讯1:详解Binder由来?

    完整原文:http://tryenough.com/android-... Android开发的进程间通讯,整个Android的应用都依赖于binder做底层通信机制.而Linux中提供的进程间通讯方 ...

  6. Linux 进程间通讯(IPC)方式 ------- 共享内存

    Linux 进程间通讯(IPC)方式有以下几种: 1->管道(pipe)和有名管道(fifo). 2->消息队列 3->共享内存 4->信号量 5->信号(signal) ...

  7. Android查缺补漏(IPC篇)-- 进程间通讯之Socket简介及示例

    本文作者:CodingBlock 文章链接:http://www.cnblogs.com/codingblock/p/8425736.html 进程间通讯篇系列文章目录: Android查缺补漏(IP ...

  8. linux open 头文件_linux下通过共享内存和mmap实现进程间通讯

    前言 最近在学习GNU/Linux内核,看到mmap的时候书上说: mmap/munmap接口函数是用户最常用的两个系统调用接口,无论是在用户程序中分配内存.读写大文件.链接动态库文件,还是多进程间共 ...

  9. linux mmap实例_Linux下通过共享内存和mmap实现进程间通讯(含实例)

    前言 最近在学习GNU/Linux内核,看到mmap的时候书上说: mmap/munmap接口函数是用户最常用的两个系统调用接口,无论是在用户程序中分配内存.读写大文件.链接动态库文件,还是多进程间共 ...

最新文章

  1. ppt 简单动画制作
  2. SQL语句大全,所有的SQL都在这里
  3. linux第三方模块参数,Swift on Linux – 导入第三方模块
  4. UVA1601万圣节的早上
  5. minio安装(包括docker安装)
  6. linux内存分析命令,Linux進程內存分析pmap命令
  7. [译文]过犹不及,别再在编程中高射炮打蚊子
  8. 火山去水印链接_在线批量去水印下载快手图集视频、抖音、火山等平台方法技巧!...
  9. 软件设计师12-数据库(数据操作)
  10. python 两阶段聚类_Python,如何对多元时间序列进行聚类?
  11. 开源 20 年,为何程序员对闭源越来越厌恶?
  12. 世界计算机模拟 波粒,光的波粒二象性的计算机模拟.pdf
  13. mysql安装排错-解决1
  14. android 圆形相机预览拍照_Android Camera2 Api 实现预览和拍照
  15. 最终幻想14钓鱼辅助脚本(非外挂)
  16. sao java_Java开发中的几种对象的说明(PO,VO,DTO,BO,POJO,DAO,SAO等)
  17. 作为亚马逊小白卖家不建议盲目进入亚马逊市场
  18. uni-app生成分享图片( 使用 Painter 生成分享海报)
  19. 生物老师(搞笑)鼻子和手
  20. 计算机网络,c语言,电子

热门文章

  1. OpenSSL之调用EVP框架实现AES多种加密模式
  2. 错误代码 ERR_OSSL_EVP_UNSUPPORTED
  3. Abaqus常用命令
  4. 最新导则下生态环境影响评价及图件制作
  5. 18000-6C整理-入门query/CRC-5
  6. 聚类分析matlab
  7. matlab实现聚类分析
  8. 【钉钉-场景化能力包】制造业订单交付全过程管理
  9. 如何手工制作html网站地图,提升网站收录率简单的方法是手工制作网站地图与工具生成网站地图两种...
  10. java-net-php-python-66jsp职工请假管理系统计算机毕业设计程序