zoukankan      html  css  js  c++  java
  • 队列

      进程间彼此数据时隔离的,要实现进程间通信(IPC),multiprocess模块支持两种形式:队列和管道,这两种方式都使用消息传递的

    创建队列的类(底层就是以管道和锁的方式实现):
      Queue([maxsize]):创建共享的进程队列,Queue是多进程安全的队列,可以使用Queue实现多进程之间的数据传递。

        但是需要明确:

            1.队列内存放的是消息而非大数据

            2.队列占用的是内存空间,因而maxsize即便是无大小限制也受到内存大小的限制

      主要方法:
        q.put()方法向队列中放数据

        q.get()方法从队列中取数据(取走了就不会还回来了,所以可以理解从队列中读取并删除一个元素)

      队列的使用:

    from multiprocessing import Queue
    
    q = Queue(3)
    
    q.put(1)
    q.put(2)
    q.put(3)
    print(q.full())  # 满了
    # q.put(4)   # 再放就阻塞了
    
    
    print(q.get())
    print(q.get())
    print(q.get())
    print(q.empty())  # 空了
    print(q.get())  # 再取就阻塞了
    队列的使用

      方法:put/get/put_nowait/get_nowait/full/empty

  • 相关阅读:
    PHP中pack、unpack的详细用法
    Rbac
    composer
    tp5+workman
    apache
    Vs2005安装后没有模板的解决方法
    java中使用mysqldump 备份数据库
    java中文件上传下载将file转为MultipartFile
    hibernate中的schema
    Java之 1.8新特性
  • 原文地址:https://www.cnblogs.com/gzying-01/p/10395757.html
Copyright © 2011-2022 走看看