zoukankan      html  css  js  c++  java
  • 02 线程队列

    import queue
    
    
    # 一:先进先出队列
    # q = queue.Queue(3)  #先进先出 fifo first in first out
    # q.put(1)
    # q.put(2)
    # # print('当前队列内容长度',q.qsize())
    # q.put(3)
    # print('查看队列是否满了',q.full())
    # try:
    #     q.put_nowait(4)  # 报错queue.Full
    # except Exception:
    #     print('队列满了')
    # print(q.get())
    # print(q.get())
    # print('查看队列是否为空',q.empty())
    # print(q.get())
    # print('查看队列是否为空',q.empty())
    # try:
    #     q.get_nowait()  # queue.Empty
    # except Exception:
    #     print('队列空了')
    
    # 二 先进后出队列,或者后进先出,类似于栈
    # q = queue.LifoQueue(3)
    #
    # q.put(1)
    # q.put(2)
    # q.put(3)
    #
    # print(q.get())
    # print(q.get())
    # print(q.get())
    
    
    #优先级队列
    q = queue.PriorityQueue(5)
    # q.put((5,'alex'))
    # q.put((2,'宝宝'))
    # q.put((7,'大力'))
    
    # q.put((5,(2,3)))
    q.put((5,(2,3)))  #如果说值里面的元素是数字类型,那么当两个值的优先级相同时,比较的是两个值的大小,小的优先被取出来
    #如果元素是字符串,那么依次比较每个字母的ascii表中的位置,小的优先被取出来
    # q.put((2,{'x':3}))
    # q.put((5,(1,2)))
    q.put((5,(2,2,3)))
    # q.put((2,'zalex'))
    # q.put((-1,'yubing'))
    # q.put((2,{'k':666})) #如果优先级数字相同,如果数据类型不同会报错
    # q.put((2,('a','b')))
    # q.put((1,(1,2)))
    # q.put((3,(1,2)))
    # q.put((-10,(1,2)))
    print(q.get())
    print(q.get())
    print(q.get())
    print(q.get())
    print(q.get())
    

      

  • 相关阅读:
    ubuntu18.04阿里源
    C# 去开头字符串
    思维导图 电商运营思路
    思维导图 淘宝淘宝流量来源
    学习 名词
    Java面试题之“==”和“equals()”方法的区别?
    修改本地MySQL的root身份密码
    添加并启动MySQL服务
    在centos7上进行hadoop-3.1.2的伪分布搭建
    TreeMap树映射取出对象的方式
  • 原文地址:https://www.cnblogs.com/work14/p/10267254.html
Copyright © 2011-2022 走看看