zoukankan      html  css  js  c++  java
  • 第十五章、线程之queue模块的各种队列

    第十五章、线程之queue模块的各种队列

    一、Queue

    import queue
    q = queue.Queue()#先进先出队列的同步实现,通过双向列表实现的
    q.put('123')
    q.put('qweqwe')
    print(q.get())
    print(q.get())
    # print(q.get())#会报错,提示队列为空
    q.task_done()
    q.task_done()
    q.join()#通知队列任务的完成情况,当队列取空就唤醒被join阻塞的线程
    ---------------------------------------------------------
    123
    qweqwe
    

    二、LifoQueue堆栈

    import queue
    q = queue.LifoQueue() #后进先出队列的同步实现,通过list来实现的
    q.put('粉红色的背心儿')
    q.put('粉红色的裤子')
    q.put('欧文的各种设备')
    print(q.get())
    print(q.get())
    print(q.get())
    ---------------------------
    欧文的各种设备
    粉红色的裤子
    粉红色的背心儿
    

    三、PriorityQueue优先级队列

    import queue
    q = queue.PriorityQueue() # 优先队列的同步实现,通过堆实现
    # 通常这个元组的第一个值是int类型
    q.put((50,'许成'))
    q.put((80,'赵军'))
    q.put((1,'宇力'))
    print(q.get())
    print(q.get())
    print(q.get())
    ---------------------------------------
    (1, '宇力')
    (50, '许成')
    (80, '赵军')
    
  • 相关阅读:
    datalist标签
    meter标签
    audio标签
    video标签
    time标签
    figure标签
    正则收集
    js文字无缝滚动
    页面滚动到指定位置
    Css公共文件结构
  • 原文地址:https://www.cnblogs.com/demiao/p/11550206.html
Copyright © 2011-2022 走看看