目标:
    1:知道我们为什么要学习消息队列,什么是队列?python怎么创建队列?
    2:能够说出queue(队列)的put()、put_nowait( )、get()、get_nowait( )方法的基本作用

    一:为什么要学习消息队列?什么是队列?

    答:进程之间是不可以进行共享全局变量的,但是我们可以创建一个消息队列,用来传递进程间的数据,从而间接进行数据共享,消息队列相当于两个进程间的对接人,媒婆,进程靠着消息队列传递消息

    什么是队列:队列是一种线性数据结构类型,队列存放数据在队尾存放,而取数据在队首取走

    图示

    image.png

    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方法)

    image.png

    put_nowait()方法

    image.png

    get()方法

    image.png

    get_nowait( )方法

    image.png