zoukankan      html  css  js  c++  java
  • 线程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"))
  • 相关阅读:
    java web(七)Cookie的简单使用
    java web(六)多个请求对应一个Servlet
    <十六>JDBC_使用 DBUtils 编写通用的DAO
    <十五>JDBC_使用 DBUtils 进行更新、查询操作
    附加作业
    第五周作业
    第八周作业
    第七周作业
    第一周作业
    第六周作业
  • 原文地址:https://www.cnblogs.com/yaya625202/p/9044125.html
Copyright © 2011-2022 走看看