1.python3跟python import方式不同
python3直接import Queue 会报错,要改成import queue
from queue import Queue(maxsize)
2.queue.Queue(),multiprocessing.Queue(),multiprocessing.Manager().Queue()的区别
1)from queue import Queue 线程队列通信使用
这个是普通的队列模式,类似于普通列表,先进先出模式,get方法会阻塞请求,直到有数据get出来为止,可以做线程通信
2)from multiprocessing.Queue import Queue 进程队列通信使用
这个是多进程并发的Queue队列,用于解决多进程间的通信问题。普通Queue实现不了。
3)multiprocess的Manager类的Manager().Queue() 线程池队列通信使用
这个是进程池使用的队列,进程池通信必须使用Manager类的Manager().Queue(),使用其它的会报错,如果要使用锁也要使用lock = manager.Lock()