十二、多线程案例(糗事百科)
1、Queue(队列对象)
Queue是python中的标准库,可以直接impot Queue引用。
队列是线程间最常用的交换数据的形式。
1.1 初始化
class Queue.Queue(maxsize) #FIFO 先进先出
1.2 包中的常用方法
Queue.qsize() 返回队列的大小
Queue.empty() 如果队列为空,返回True,反之False
Queue.full() 如果队列满了,返回True,反之False
Queue.full 与 maxsize 大小对应
Queue.get([block[, timeout]])获取队列,timeout等待时间
1.3 创建一个"队列"对象
(1)import Queue
(2)myqueue = Queue.Queue(maxsize=20)
1.4 将一个值放入队列中
(1)myqueue.put(value)
1.5 将一个值从队列中取出
(1)myqueue.get()
2、python下多线程的思考
对于资源,加锁是个重要的环节。因为python原生的List,dict等,都为非线程安全,而Queue是线程安全的,因此在满足使用条件下,建议使用队列。
3、多线程示意图
4、用队列方式实现多线程爬虫
项目代码:https://www.cnblogs.com/nuochengze/p/12861358.html