• <bdo id='I6cYo'></bdo><ul id='I6cYo'></ul>
      <tfoot id='I6cYo'></tfoot>

      <small id='I6cYo'></small><noframes id='I6cYo'>

      <i id='I6cYo'><tr id='I6cYo'><dt id='I6cYo'><q id='I6cYo'><span id='I6cYo'><b id='I6cYo'><form id='I6cYo'><ins id='I6cYo'></ins><ul id='I6cYo'></ul><sub id='I6cYo'></sub></form><legend id='I6cYo'></legend><bdo id='I6cYo'><pre id='I6cYo'><center id='I6cYo'></center></pre></bdo></b><th id='I6cYo'></th></span></q></dt></tr></i><div id='I6cYo'><tfoot id='I6cYo'></tfoot><dl id='I6cYo'><fieldset id='I6cYo'></fieldset></dl></div>
      1. <legend id='I6cYo'><style id='I6cYo'><dir id='I6cYo'><q id='I6cYo'></q></dir></style></legend>

        Python如何用信号杀死队列中阻塞的线程?

        Python how to kill threads blocked on queue with signals?(Python如何用信号杀死队列中阻塞的线程?)
        • <bdo id='lZije'></bdo><ul id='lZije'></ul>
          <i id='lZije'><tr id='lZije'><dt id='lZije'><q id='lZije'><span id='lZije'><b id='lZije'><form id='lZije'><ins id='lZije'></ins><ul id='lZije'></ul><sub id='lZije'></sub></form><legend id='lZije'></legend><bdo id='lZije'><pre id='lZije'><center id='lZije'></center></pre></bdo></b><th id='lZije'></th></span></q></dt></tr></i><div id='lZije'><tfoot id='lZije'></tfoot><dl id='lZije'><fieldset id='lZije'></fieldset></dl></div>
          <legend id='lZije'><style id='lZije'><dir id='lZije'><q id='lZije'></q></dir></style></legend>
            <tbody id='lZije'></tbody>

              <tfoot id='lZije'></tfoot>

              <small id='lZije'></small><noframes id='lZije'>

                  本文介绍了Python如何用信号杀死队列中阻塞的线程?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!

                  问题描述

                  我在一个队列上启动了一堆线程,我想在发送 SIGINT (Ctrl+C) 时终止它们.处理这个问题的最佳方法是什么?

                  I start a bunch of threads working on a queue and I want to kill them when sending the SIGINT (Ctrl+C). What is the best way to handle this?

                  targets = Queue.Queue()
                  threads_num = 10
                  threads = []
                  
                  for i in threads_num:
                      t = MyThread()
                      t.setDaemon(True)
                      threads.append(t)
                      t.start()
                  
                  targets.join()
                  

                  推荐答案

                  不是Ctrl+C SIGINT吗?

                  无论如何,您可以为适当的信号安装一个处理程序,并在处理程序中:

                  Anyway, you can install a handler for the appropriate signal, and in the handler:

                  • 设置一个全局标志,指示工人退出,并确保他们定期检查它
                  • 或将 10 个关闭令牌放入队列中,并让工作人员在弹出此魔术令牌时退出
                  • 或设置一个指示主线程推送这些令牌的标志,确保主线程检查该标志

                  等等.这主要取决于您要中断的应用程序的结构.

                  etc. Mostly it depends on the structure of the application you're interrupting.

                  这篇关于Python如何用信号杀死队列中阻塞的线程?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

                  本站部分内容来源互联网,如果有图片或者内容侵犯了您的权益,请联系我们,我们会在确认后第一时间进行删除!

                  相关文档推荐

                  Adding config modes to Plotly.Py offline - modebar(将配置模式添加到 Plotly.Py 离线 - 模式栏)
                  Plotly: How to style a plotly figure so that it doesn#39;t display gaps for missing dates?(Plotly:如何设置绘图图形的样式,使其不显示缺失日期的间隙?)
                  python save plotly plot to local file and insert into html(python将绘图保存到本地文件并插入到html中)
                  Plotly: What color cycle does plotly express follow?(情节:情节表达遵循什么颜色循环?)
                  How to save plotly express plot into a html or static image file?(如何将情节表达图保存到 html 或静态图像文件中?)
                  Plotly: How to make a line plot from a pandas dataframe with a long or wide format?(Plotly:如何使用长格式或宽格式的 pandas 数据框制作线图?)
                  <i id='urXUE'><tr id='urXUE'><dt id='urXUE'><q id='urXUE'><span id='urXUE'><b id='urXUE'><form id='urXUE'><ins id='urXUE'></ins><ul id='urXUE'></ul><sub id='urXUE'></sub></form><legend id='urXUE'></legend><bdo id='urXUE'><pre id='urXUE'><center id='urXUE'></center></pre></bdo></b><th id='urXUE'></th></span></q></dt></tr></i><div id='urXUE'><tfoot id='urXUE'></tfoot><dl id='urXUE'><fieldset id='urXUE'></fieldset></dl></div>

                    <bdo id='urXUE'></bdo><ul id='urXUE'></ul>
                        <tbody id='urXUE'></tbody>
                      <tfoot id='urXUE'></tfoot>

                          1. <small id='urXUE'></small><noframes id='urXUE'>

                            <legend id='urXUE'><style id='urXUE'><dir id='urXUE'><q id='urXUE'></q></dir></style></legend>