• 队列----------------多线程利器


    先进先出模式

    import queue #线程队列
    
    q = queue.Queue()   #先进先出,先存进的数据,就先被取出来。如果()内有数字,如5,意思是q内可以放的数据数量
    
    q.put(12)
    q.put('hello')
    q.put({'name':'doudou'})
    q.put(34,False) #意思是,如果队列已经满了。put不进去,会返回
    
    print(q.qsize()) #队列里面具体的值
    print(q.empty()) #是否为空
    print(q.full())  #是否为满的状态
    
    while 1:
        data = q.get(block = False) #当队列被取完后,如果还继续取的话,会返回
        print(data)
        print('---------')

    先进后出模式

    import queue
    q = queue.LifoQueue()
    
    q.put(12)
    q.put('hello')
    q.put({'name':'doudou'})
    
    while 1:
        data = q.get(block=False)  # 当队列被取完后,如果还继续取的话,会返回
        print(data)
        print('---------')

    优先级模式

    import queue
    
    q = queue.PriorityQueue()
    
    q.put([3,12])  #列表里面第一个数字越小,优先级越高
    q.put([2,'hello'])
    q.put([4,{'name':'doudu'}])
    
    while 1:
        data = q.get()  # 当队列被取完后,如果还继续取的话,会返回
        print(data)
        print('---------')
  • 相关阅读:
    linux安装nexus
    k8s批量删除资源
    spug 一个好用运维管理平台
    SpringMvc几种数据转化方法
    Esxi通过U盘启动
    LobHandler和LobCreator
    Spring的NamedParameterJdbcTemplate
    Spring中的JdbaTemplate
    Rufus
    UltraISO 注册码
  • 原文地址:https://www.cnblogs.com/lhqlhq/p/8992050.html
Copyright © 2020-2023  润新知