python3队列使用

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()

 

posted @ 2021-01-05 16:05  JahanGu  阅读(883)  评论(0编辑  收藏  举报