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

    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)))
    q.put((1,(1,2)))
    q.put((1,22))
    print(q.get())
    print(q.get())
    # print(q.get())
    # print(q.get())
    # print(q.get())




  • 相关阅读:
    Vscode:代码片段
    【转载】生产力终极指南:用了两年,如今才算真正会用VS Code
    VScode中无法导入自定义模块的问题——搭建虚拟环境
    【Pandas】1.数据读取
    【Pandas】入门案例
    【Pandas】概述
    【Pandas】环境配置
    leetcode多线程题目
    Spring AOP
    MySQL最佳实践
  • 原文地址:https://www.cnblogs.com/16795079a/p/10316323.html
Copyright © 2011-2022 走看看