zoukankan      html  css  js  c++  java
  • 网络编程——同一进程中的队列(多线程)

    import queue

    queue.Queue() 先进先出

    queue.LifoQueue() 后进先出

    queue.PriorityQueue() 优先级队列

      优先级队列 q = queue.PriorityQueue()

        q.put() 接受的是一个元祖

        元祖中第一个参数是:表示当前数据的优先级

        元祖中第二个参数是:需要存放到队列中的数据

      优先级的比较(首先保证整个队列中,所有表示优先级的东西类型必须一致)

        如果都是int 类型,比数值大小

        如果都是str类型,比较字符串的大小(从第一个字符的ASCII码开始比较)

    from multiprocessing import Queue# 是用于多进程的队列,就是专门用来做进程间通信(IPC)。
    import queue# 是用于同一进程内的队列,不能做多进程之间的通信
    
    # q = queue.Queue()# 先进先出
    # q.put(1)
    # q.put(2)
    # q.put(3)
    # print(q.get())
    # print(q.get())
    
    # q = queue.LifoQueue()
    # # 后进先出的队列
    # q.put(1)
    # q.put(2)
    # q.put(3)
    # print(q.get())
    
    q = queue.PriorityQueue()
    # 优先级队列,put()方法接收的是一个元组(),第一个位置是优先级,第二个位置是数据
    # 优先级如果是数字,直接比较数值
    # 如果是字符串,是按照 ASCII 码比较的。当ASCII码相同时,会按照先进先出的原则
    # q.put((1,'abc'))
    # q.put((5,'qwe'))
    # q.put((-5,'zxc'))
    # print(q.get())
    # print(q.get())
    # print(chr(48))
  • 相关阅读:
    C++概念性总结
    友元函数
    C++指针概念
    Linux下多线程(clone()线程)
    Qt5模块化详细总结
    C++有符号与无符号之间的转换问题
    使用C++test工具做Qt代码静态分析
    QT函数带有外部链接但没有在头文件中声明(QT noreturn属性添加)
    Linux之Docker手动创建Docker容器
    我在思考一个很变态的社会趋向
  • 原文地址:https://www.cnblogs.com/Loren2o/p/9542604.html
Copyright © 2011-2022 走看看