Python中,队列是线程间最常用的交换数据的形式。queue模块是提供队列操作的模块,虽然简单易用,但是不小心的话,还是会出现一些意外。
1、queue简单说明
1 #!/usr/bin/env python 2 # -*- coding: utf-8 -*- 3 4 ''' 5 queue队列:常用在多线程里面,能够直接在线程安全的在多个线程之间进行数据交换,不需要当参数传递 6 7 class queue.Queue(maxsize=0) #先进先出 8 class queue.LifoQueue(maxsize=0) #后进先出 last in first out 9 class queue.PriorityQueue(maxsize=0) #存储数据时可以设置优先级的队列 10 11 队列中可以存放任意类型数据 12 13 队列常用方法: 14 put(x) 将x存储到队列,存不下就就会阻塞,timeout设置阻塞超时时间,不设置会一直阻塞 15 put_nowait(x) 不阻塞,放不进去就报错 16 get() 从队列中取出一个值(先进先出),其余的跟put一样 17 get_nowait() 从队列中取出一个值,队列没有值时直接报错 18 full() 判断队列是否满了 19 empty() 判断队列是否为空 20 qsize() 返回队列实际的长度(存了多少个值) 21 22 ''' 23 24 import queue 25 26 class Human(object): 27 def __init__(self,n): 28 self.n = n 29 30 print('