zoukankan      html  css  js  c++  java
  • (17)线程队列---queue LifoQueue PriorityQueue

    线程常用队列有: queue LifoQueue PriorityQueue

    语法: 大致和进程队列语法一致

    put 往队列当中放值,超过队列长度,直接加阻塞

    get 如果获取不到加阻塞

    put_nowait 如果放入的超过了队列长度,直接报异常错误

    get_nowait 如果获取到直接报异常错误

    (1) queue 先进先出

    # 第一种写法:

    from queue import Queue

    # q = Queue()

    #第二种写法:

    import queue

    q = queue.Queue()

    q.put(1)

    q.put(2)

    print(q.get()) # 1

    (2)LifoQueue 后进先出

    from queue import LifoQueue

    lq = LifoQueue()

    lq.put(1)

    lq.put(2)

    lq.put('aaa')

    print(lq.get()) # aaa

    (3)PriorityQueue 按照优先级排序

    #1.放入元组,先按照前面数字进行排列,如果数字相同,再按照ascii吗从小到大排序

    from queue import PriorityQueue

    pq = PriorityQueue()

    pq.put((13, 'abc'))

    pq.put((5, "ccc"))

    pq.put((5, "bcc"))

    pq.put((15, "bbb"))

    print(pq.get()) # (5, 'bcc')

    print(pq.get()) # (5, 'ccc')

    print(pq.get()) # (13, 'abc')

    print(pq.get()) # (15, 'bbb')

    (4) 单独一个元素的,只能是都放同一种类型

    pq = PriorityQueue()

    pq.put(15)

    pq.put(13)

    pq.put(3)

    # pq.put("3434") 报错

    print(pq.get())

    print(pq.get())

    print(pq.get())

    # print(pq.get())

     

     

     

     

     

     

     

     

     

     

     

     

     

  • 相关阅读:
    js类数组
    内存中,外部碎片与内部碎片
    检测js随机函数是否随机
    Vue3 父子组件通信
    Promise的几个重要api
    npm知识总结
    vue中使用防抖函数
    absolute元素水平居中
    vue3 使用 data、computed、methods
    空白字符
  • 原文地址:https://www.cnblogs.com/lyj910313/p/10787368.html
Copyright © 2011-2022 走看看