• 线程queue


    线程queue,线程共享一个进程数据,为什么还要使用queue?因为共享数据啊,不用queue就需要自己用锁保证数据安全

    队列,队列为空get方法会被阻塞,队列满后put方法被阻塞

    import queue
    q=queue.Queue(5)#先进先出->队列,并设置大小
    q.put(1)
    q.put("a")
    print(q.get())
    print(q.get())

     

    队列其他方法

    q=queue.Queue(5)#先进先出->队列,并设置大小
    q.put(1,block=True)#block方法默认阻塞,可以设置成False,满后抛出异常
    q.put(1,block=True,timeout=3)#满后阻塞3秒,3秒后还是放不进去则抛出异常
    q.put(2,block=False)#等同于q.put_nowait(2
    q.get(block=True)#block默认为True
    q.get(block=False)#空则抛出异常,等同于q.get_nowait()
    q.get(block=True,timeout=3)#等待3秒,3秒后还是为空则抛出异常

    堆栈,先进先出。使用方法和Queue()一样

    q1=queue.LifoQueue(3)#后进先出队列--->堆栈

    优先级队列

    q2.put((10,"one"))#元组方式,第一个表示为优先级,数字越小优先级越高,第二个表示内容
    q2.put((9,"two"))
  • 相关阅读:
    WebService 安静点
    爬虫(一) 安静点
    wpf(三) 安静点
    wpf问题解决链接 安静点
    wpf(一) 安静点
    webapi(一) 安静点
    WPF(二)之为对象属性赋值 安静点
    wpf(四) 安静点
    云计算实验二 Docker实验docker安装
    新闻分类中文分词+词云展示(2)
  • 原文地址:https://www.cnblogs.com/yaya625202/p/9044125.html
Copyright © 2020-2023  润新知