zoukankan      html  css  js  c++  java
  • 进程间的通信及进程间通信ICP机制

    进程间的通信

    '''
    两个进程之间想要进行通信,需要在进程之间建立一个管道,这个管道就是队列
    '''
    from multiprocessing import Queue
    q = Queue(5)  # 括号内可以传入参数,表示队列最大存储数  括号内不传入参数时,默认最大值
    # 往队列中添加数据
    q.put(1)
    q.put(2)
    q.put(3)
    print(q.full())  # 判断队列是否满了
    q.put(4)
    q.put(5)
    print(q.full())
    q.put(6)  # 当队列满了之后再放入值,不会报错,会在原地等待,直到队列中有值被取走(阻塞态)
    
    
    print(q.get())
    print(q.get())
    print(q.get())
    print(q.empty())  # 判断队列中的值是否被取走
    print(q.get())
    print(q.get())
    # print(q.get())  # 当队列中的值被取完时,不会报错,会在原地等待,等待值被传入队列(阻塞态)
    print(q.get_nowait())  # 当队列中的值被取完时,再取会直接报错
    
    '''
    full
    empty
    get_nowait
    都不适合多进程
    '''

    进程间通信ICP机制

    from multiprocessing import Process,Queue
    
    
    def send(q):
        q.put('hello')
    
    
    def get(q):
        print(q.get())
    
    
    if __name__ == '__main__':
        q = Queue()
        p = Process(target=send, args=(q,))
        p1 = Process(target=get, args=(q,))
        p.start()
        p1.start()
    
    
    
    
    '''
    子进程放数据,主进程获取数据
    两个子进程相互放,互相取
    '''
  • 相关阅读:
    三层架构补充
    复习三层架构
    复习DOM、JQuery
    复习HTML CSS JavaScript
    Git在新电脑拉github 上的项目
    超全的IE兼容性问题及解决方案
    JS操作iframe
    attachEvent和addEventListener
    HTTP 方法:GET 对比 POST
    原生JS+ CSS3创建loading加载动画;
  • 原文地址:https://www.cnblogs.com/asdaa/p/11343039.html
Copyright © 2011-2022 走看看