VB.net 2010 视频教程 VB.net 2010 视频教程 python基础视频教程
SQL Server 2008 视频教程 c#入门经典教程 Visual Basic从门到精通视频教程
当前位置:
首页 > 编程开发 > python爬虫 >
  • Python中Queue模块及多线程使用

  Python的queue.Queue模块提供一种适用于多线程编程的FIFO实现。它可用于在生产者(producer)和消费者(consumer)之间线程安全(thread-safe)地传递消息或其它数据,因此多个线程可以共用同一个Queue实例。Queue的大小(元素的个数)可用来限制内存的使用。

Queue类实现了一个基本的先进先出(FIFO)容器,使用put()将元素添加到序列尾端,get()从队列顶部移除元素。
1,2,3,4,5,6
queue模块有三种队列及构造函数:
Python queue模块的FIFO队列先进先出。 class queue.Queue(maxsize)
LIFO类似于堆,即先进后出。 class queue.LifoQueue(maxsize)
还有一种是优先级队列级别越低越先出来。 class queue.PriorityQueue(maxsize)

1 .  queue模块中的常用方法:
2 . queue.qsize() 返回队列的大小
3 . queue.empty() 如队列为空,返回True,反之False
4 . queue.full() 如果队列满了,返回True,反之False
5 . queue.full 与 maxsize 大小对应
6 . queue.get([block[, timeout]])获取队列,timeout
    等待时间
7 . queue.get_nowait() 相当queue.get(False)
8 . queue.put(item) 写入队列,timeout等待时间
9 . queue.put_nowait(item) 相当queue.put(item, False)
10 . queue.task_done() 在完成一项工作之后,
       queue.task_done()函数向任务已经完成的队列发送
       一个信号
11 . queue.join() 实际上意味着等到队列为空,再执行别
       的操作

queue.qsize() 返回队列的大小

如:

 print(f"队列的大小为:{q.qsize()}")

queue.empty() 如队列为空,返回True,反之False if(q.empty()):
        print("队列为空!")
    else:
        print("队列不为空!")

queue.full() 如果队列满了,返回True,反之False
if(q.full()):
        print("队列为满!")
    else:
        print("队列不为满!")


queue.qsize() 返回队列的大小

 print(f"队列的大小为:{q.qsize()}")


queue.empty() 如队列为空,返回True,反之False if(q.empty()):
        print("队列为空!")
    else:
        print("队列不为空!")

queue.full() 如果队列满了,返回True,反之False
if(q.full()):
        print("队列为满!")
    else:
        print("队列不为满!")


相关教程