• 网络编程——同一进程中的队列(多线程)


    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))
  • 相关阅读:
    授权管理-LDAP-介绍与环境搭建
    Gerrit系统框架介绍
    代码托管-gerrit-介绍与环境搭建
    springMVC
    spring,springMVC,mybatis项目添加maven后报500错
    SSM项目引入文件失败
    spring与mybatis整合
    幂等问题本质和业务场景的解决方案
    spring boot logback无感配置
    sentinel与hystrix对比
  • 原文地址:https://www.cnblogs.com/Loren2o/p/9542604.html
Copyright © 2020-2023  润新知