• 技术文章 >Python技术 >Python基础教程

    Python线程中的阻塞是什么?

    十一十一2020-11-18 15:31:44原创2600

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

    专题推荐:python线程中的阻塞
    品易云
    上一篇:python导入第三方模块的注意点 下一篇:python进程池中apply如何使用?

    相关文章推荐

    • 详解python中 os.walk方法遍历目录操作• python多线程中消息队列如何实现?• python导入第三方模块的注意点

    全部评论我要评论

    © 2021 Python学习网 苏ICP备2021003149号-1

  • 取消发布评论
  • 

    Python学习网