zoukankan      html  css  js  c++  java
  • 线程的Queue

    线程的queue

    Python中,队列是线程间最常用的交换数据的形式。Queue模块是提供队列操作的模块,虽然简单易用,但是不小心的话,还是会出现一些意外。

    创建‘队列’对象

    import queue
    q = queue.Queue(3) #Queue(maxsizse = 3)

    Queue.Queue类即是一个队列的同步实现。队列长度可为无限或者有限。可通过Queue的构造函数的可选参数maxsize来设定队列长度。如果maxsize小于1就表示队列长度无限。

    将一个值放入队列中

    q.put(10) 调用队列对象的put()方法在队尾插入一个项目。put()有两个参数,第一个item为必需的,为插入项目的值;第二个block为可选参数,默认为 1。如果队列当前为空且block为1,put()方法就使调用线程暂停,直到空出一个数据单元。如果block为0,put方法将引发Full异常。

    q.put(3)
    q.put('zhang')
    q.put(['zhang','li'])
    # q.put(6,block=False)
    print(q.get())
    q.put(6,block=True,timeout=2)
    # q.put(8)

    本身在队列full时,block默认为True。所以再向满的队列中插入数据时,队列就会阻塞,线程就会卡住。当block=False时,再次put程序就会发生错误。在timeout参数设定中,q.put(6,block=True,timeout=2)意味着当队列过了两秒还没有数据被取出程序就会报错。在尝试

  • 相关阅读:
    VB几种函数参数传递方法,Variant,数组,Optional,ParamArray
    一些 Windows 系统不常见的 鼠标光标常数
    加载MSCOMCTL.OCX错误处理的几个关键
    如何快速掌握一门技术
    《将博客搬至CSDN》
    日期小demo
    iOS崩溃解决记录
    Swift基础语法
    iOS端APP切图命名规范大全
    PHP案例:学生信息管理系统
  • 原文地址:https://www.cnblogs.com/z18271397173/p/9218770.html
Copyright © 2011-2022 走看看