zoukankan      html  css  js  c++  java
  • 线程队列queue的使用

    其实线程队列queue跟进程Queue的用法一样。

    一、先进先出

    import queue
    q = queue.Queue()
    q.put('kobe')
    q.put('cxk')
    print(q.get())
    print(q.get())
    # print(q.get())
    q.task_done()
    q.task_done()
    q.join()   # 进行阻塞,直到队列里所有项目均被处理,且均被q.task_done(),才能通过。
    
    

    结果:

    kobe
    cxk
    

    二、先进后出(LifeQueue)

    实现一个类似于堆栈的效果

    import queue
    q = queue.LifoQueue()
    q.put('No.1')
    q.put('No.2')
    q.put('No.3')
    
    print(q.get())
    print(q.get())
    print(q.get())
    
    '''
    结果:
    No.3
    No.2
    No.1
    '''
    

    三、设置优先级队列(PriorityQueue)

    import queue
    q = queue.PriorityQueue()
    # put进入一个元组,元组的第一个元素是优先级,(通常是数字,也可以是非数字之间的比较),数字较小优先级高
    q.put((10,'a'))
    q.put((5,'b'))
    q.put((1,'c'))
    
    print(q.get())
    print(q.get())
    print(q.get())
    
    '''
    结果:
    (1, 'c')
    (5, 'b')
    (10, 'a')
    '''
    

    四、线程定时器(Timer)

    from threading import Timer
    import time
    
    def func():
        print('线程开始执行')
        time.sleep(2)
        print('线程结束')
    
    t = Timer(4,func)   # 通过定时器来控制开启线程的时间,时间到了,下面的代码才会执行。
    t.start()
    print('主')
    
  • 相关阅读:
    ATM+购物车系统
    Python 异常处理
    单例的三种实现方式
    面向对象高级编程
    面向对象
    文件处理
    字符编码
    python入门
    Python终端如何输出彩色字体
    Python 全栈开发:python初识面向对象
  • 原文地址:https://www.cnblogs.com/guapitomjoy/p/11564140.html
Copyright © 2011-2022 走看看