zoukankan      html  css  js  c++  java
  • 进程间通信=>IPC机制

    进程间通信=>IPC机制
    管道 占用内存空间
    队列=管道+锁 占用内存空间 先进先出 应该存放小数据
    from multiprocessing import Queue
    q=Queue() #如果放的个数小于put的个数就会阻塞住
    q.put(['first',])
    q.put({'x':2})
    q.put(3)
    q.put(4)
    print(q.get())
    print(q.get())
    print(q.get())
    print(q.get())
    结果:
    ['first']
    {'x': 2}
    3
    4
    队列
    from multiprocessing import Queue
    q=Queue(3)
    q.put(['first',],block=True,timeout=3) #block=True 队列满的时候锁
    q.put({'x':2},block=True,timeout=3) #timeout 超时时间,超过时间停止进程
    q.put(3,block=True,timeout=3)
    
    #
    print(q.get(block=True,timeout=3))
    print(q.get(block=True,timeout=3))
    print(q.get(block=True,timeout=3))
    print(q.get(block=True,timeout=3))
    
    结果:
    ['first']
    {'x': 2}
    3
    后面会报错,没有数据了,把取的第四行注释掉就好了
    对列 等
    from multiprocessing import Queue
    q=Queue(3)
    q.put_nowait(1) #q.put(1,block=False)
    q.put_nowait(2)
    q.put_nowait(3)
    
    #不等
    print(q.get_nowait()) #q.get(block=false)
    print(q.get_nowait()) #q.get(block=false)
    print(q.get_nowait()) #q.get(block=false)
    print(q.get_nowait()) #q.get(block=false)
    
    结果:
    1
    2
    3
    没有等待时间
    队列 不等
  • 相关阅读:
    内网穿透事件参考
    mysql的优化总结
    linux切换普通用户遇bash-4.1解决
    python爬虫匹配实现步骤
    restful设计参考
    php扩展安装
    python算术
    python 文件操作
    python生成器
    Spring框架的事务管理之基于AspectJ的XML方式(重点掌握)
  • 原文地址:https://www.cnblogs.com/zhouhao123/p/11229476.html
Copyright © 2011-2022 走看看