目标:
    1:知道判断消息队列是否为空的坑!!
    2:知道为什么出现这样的坑

    一:判断消息队列是否为空的坑!!

    你问我答:是什么坑?

    答:当消息队列被数据项填满,用empty()判断消息队列是否为空时,返回值为True,说明消息队列已空,这就是坑

    二:出现这种坑的原因

    答:可以理解为向队列中存数据为子进程1控制,判断队列是否为空是子进程2控制,但是子进程2的运行速度快过于子进程1,造成了数据还没有存入队列,就进行了判断,因此出现了队列中明明有数据却判断为空的原因

    原理截图:

    image.png

    代码图示(坑)

    image.png


    解决这个坑的方法代码截图

    image.png