目标:
1:知道我们为什么要学习消息队列,什么是队列?python怎么创建队列?
2:能够说出queue(队列)的put()、put_nowait( )、get()、get_nowait( )方法的基本作用
一:为什么要学习消息队列?什么是队列?
答:进程之间是不可以进行共享全局变量的,但是我们可以创建一个消息队列,用来传递进程间的数据,从而间接进行数据共享,消息队列相当于两个进程间的对接人,媒婆,进程靠着消息队列传递消息
什么是队列:队列是一种线性数据结构类型,队列存放数据在队尾存放,而取数据在队首取走
图示
python中怎么创建消息队列:multiprocessing模块中的Queue(num)类可创建消息队列
例如:queue1 = multiprocessing.Queue(3) 代表创建一个长度为3的队列
二:Queue(队列)的 put()以及 put_nowait( ) 与 get()和 get_nowait( ) 的基本作用
功能:
put(“3”): 向队列中存放“3”数据(从队尾存入),如果队列数据已满,那么会等待队列释放后再存入,程序处于阻塞状态
put_nowait( “3”): 向队列中存放“3”数据,如果队列已满,程序不会进入阻塞状态,直接报错
get():在队列中取出数据(从队首取出),执行一次在队列中取走一个数据!如果队列已空,程序进入阻塞状态,等待数据存入队列中在取出
get_nowait( ) :在队列中取出数据(从队首取出),执行一次在队列中取走一个数据!如果队列已空,程序不会进入阻塞状态,直接报错
快速代码体验(put方法)
put_nowait()方法
get()方法
get_nowait( )方法