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())

     

     

     

     

     

     

     

     

     

     

     

     

     

  • 相关阅读:
    75分以下是文盲
    罗永浩最近怎么了
    北京奥运会赛事项目竞赛日程表
    从今天开始我的blog增加计数器
    07工作总结
    五道脑筋测试题,全答对的是天才
    转:国家名字的含义
    我的新装备双狂
    上海海鲜自助:喜多屋vs古象大酒店
    因为有了爱
  • 原文地址:https://www.cnblogs.com/lyj910313/p/10787368.html
Copyright © 2011-2022 走看看