zoukankan      html  css  js  c++  java
  • queue队列是并发利器

    import queue
    '''
    此包中的常用方法(q = Queue.Queue()):
    q.qsize() 返回队列的大小
    q.empty() 如果队列为空,返回True,反之False
    q.full() 如果队列满了,返回True,反之False
    q.full 与 maxsize 大小对应
    q.get([block[, timeout]]) 获取队列,timeout等待时间
    q.get_nowait() 相当q.get(False)
    非阻塞 q.put(item) 写入队列,timeout等待时间
    q.put_nowait(item) 相当q.put(item, False)
    q.task_done() 在完成一项工作之后,q.task_done() 函数向任务已经完成的队列发送一个信号
    q.join() 实际上意味着等到队列为空,再执行别的操作
    '''
    qu = queue.Queue(5)  #先进先出
    qu.put("dxvxc1")
    qu.put("dxvxc2")
    qu.put("dxvxc3")
    qu.put("dxvxc2")
    qu.put("dxvxc3")
    print(qu.join())
    
    
    print(qu.full()) #  如果队列满了,返回True,反之False
    print(qu.get())
    print(qu.get())      #get方法每获取一条后就会少一条
    print(qu.get())
    print(qu.full())
    print("-----------------------------------------")
    
    qq = queue.LifoQueue() #先进后出
    qq.put("11111")
    qq.put("222222")
    qq.put("333333")
    print(qq.qsize())
    print(qq.empty())    #如果队列为空,返回True,反之False
    print(qq.get())
    
    
    
    qy = queue.PriorityQueue()  #数值越小,优先级越低越先出来
    qy.put("dsdy")
    qy.put("dsdz")
    qy.put("dsdx")
    
    qy.put("7")
    qy.put("9")
    qy.put("1")
    qy.put("6")
    
    print(qy.get())
    print(qy.get())
  • 相关阅读:
    方法的参数传递机制
    策略模式
    Factory(简单的工厂模式)
    java 跨域问题解决
    Map 转成Json字符串
    FastDFS 上传,删除文件
    MD5 密码加盐
    Java-图片压缩
    调用支付宝人脸采集查询图片Base64解码
    HttpClient工具类
  • 原文地址:https://www.cnblogs.com/TKOPython/p/12444657.html
Copyright © 2011-2022 走看看