zoukankan      html  css  js  c++  java
  • JoinableQueue理解

    JoinableQueue

    通俗理解:就是可以join的队列,这个队列的特点就是比Queue额外增加了一个Join函数。

    Join函数的作用

      该函数为阻塞函数,会阻塞直到队列中所有的数据都被处理完毕,它才继续往下运行。

    # 会导致进程无法结束
    q = JoinableQueue()
    q.put(1) 
    q.get()
    q.join() 
    

    上述代码进程无法结束,是因为get仅仅是取出数据,而join是等待数据处理完毕,所以取出数据处理结束还得告知队列处理完毕,这里就用到了task_done

    q = JoinableQueue()
    q.put(1) 
    q.get()
    q.task_done() 
    q.join()
    

    这里task_done用的是计数方法,每告知一次减一次,所以task_done的调用次数必等于队列中的数据个数,join才能正常结束。

    q = JoinableQueue()
    q.put(1) 
    q.put(1)
    q.get()
    q.task_done()
    q.get()
    q.task_done() 
    q.join()
    
  • 相关阅读:
    触发器
    dubbox 及 zookeeper的安装与启动
    负载均衡
    SOA架构
    获取短信验证码
    分步式
    saoruo
    Ngx
    redies技术
    Springboot开发特点
  • 原文地址:https://www.cnblogs.com/Lance-WJ/p/13558486.html
Copyright © 2011-2022 走看看