ITPub博客

首页 > IT职业 > IT职场 > Python线程中的阻塞是什么?

Python线程中的阻塞是什么?

IT职场 作者:libinbin 时间:2021-09-11 10:08:23 0 删除 编辑

如果大家正在学习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教程中心查看吧~

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/359/viewspace-2832183/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2020-07-23

  • 博文量
    0
  • 访问量
    944