如果大家正在学习python线程中的阻塞内容,那就一定要看下这篇文章,对于阻塞,我们在学习时候,要不就是被一笔带过,要不然就是精讲的不细致,很少能彻底的弄清楚这阻塞要怎么去理解,小伙伴也不要着急,小编这就将里面需要了解的内容给大家全盘托出,好好看下文吧~
阻塞与非阻塞方式:
一、设置阻塞模式
例1:消息入队
#消息队列数量为2 msgq = Queue(maxsize=2) #放入两条消息 msgq.put('1') msgq.put('2') #判断full print(msgq.full()) #插入一条,一直阻塞 msgq.put('3') print("end")
结果:一直阻塞,直到队列有空位置;
例2: 消息出队
msgq = Queue(maxsize=2) print(msgq.empty()) msgq.get() print('over')
结果:一直阻塞,直到有消息;
二、设置非阻塞模式
#消息队列数量为2 msgq = Queue(maxsize=2) #放入两条消息 msgq.put('1') msgq.put('2') #判断full print(msgq.full()) msgq.put('3', block=False) print("ove")
结果:消息队列full之后,直接写入消息,报异常;
这就是阻塞中的两个模式的使用了,大家可以通过示例,就可以了解到模式里的基本使用,总体来看,并不是很难哦~如果还想了解其他内容,就到python教程中心查看吧~