亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

Python多線程異步任務隊列

系統 1982 0

?

?

原文地址

python的多線程異步常用到queue和threading模塊

            
              #
            
            
              !/usr/bin/env python
            
            
              
#
            
            
               -*- coding: UTF-8 -*-
            
            
              import
            
            
               logging

            
            
              import
            
            
               queue

            
            
              import
            
            
               threading
   

            
            
              def
            
            
               func_a(a, b):
    
            
            
              return
            
             a +
            
               b
   

            
            
              def
            
            
               func_b():
    
            
            
              pass
            
            
              def
            
            
               func_c(a, b, c):
    
            
            
              return
            
            
               a, b, c
   

            
            
              #
            
            
               異步任務隊列
            
            
_task_queue =
            
               queue.Queue()
   

            
            
              def
            
             async_call(function, callback, *args, **
            
              kwargs):
    _task_queue.put({
        
            
            
              '
            
            
              function
            
            
              '
            
            
              : function,
        
            
            
              '
            
            
              callback
            
            
              '
            
            
              : callback,
        
            
            
              '
            
            
              args
            
            
              '
            
            
              : args,
        
            
            
              '
            
            
              kwargs
            
            
              '
            
            
              : kwargs
    })
   

            
            
              def
            
            
               _task_queue_consumer():
    
            
            
              """
            
            
              
    異步任務隊列消費者
    
            
            
              """
            
            
              while
            
            
               True:
        
            
            
              try
            
            
              :
            task 
            
            =
            
               _task_queue.get()
            function 
            
            = task.get(
            
              '
            
            
              function
            
            
              '
            
            
              )
            callback 
            
            = task.get(
            
              '
            
            
              callback
            
            
              '
            
            
              )
            args 
            
            = task.get(
            
              '
            
            
              args
            
            
              '
            
            
              )
            kwargs 
            
            = task.get(
            
              '
            
            
              kwargs
            
            
              '
            
            
              )
            
            
            
              try
            
            
              :
                
            
            
              if
            
            
               callback:
                    callback(function(
            
            *args, **
            
              kwargs))
            
            
            
              except
            
            
               Exception as ex:
                
            
            
              if
            
            
               callback:
                    callback(ex)
            
            
            
              finally
            
            
              :
                _task_queue.task_done()
        
            
            
              except
            
            
               Exception as ex:
            logging.warning(ex)
   

            
            
              def
            
            
               handle_result(result):
    
            
            
              print
            
            
              (type(result), result)
   

            
            
              if
            
            
              __name__
            
             == 
            
              '
            
            
              __main__
            
            
              '
            
            
              :
    t 
            
            = threading.Thread(target=
            
              _task_queue_consumer)
    t.daemon 
            
            =
            
               True
    t.start()
   
    async_call(func_a, handle_result, 
            
            1, 2
            
              )
    async_call(func_b, handle_result)
    async_call(func_c, handle_result, 
            
            1, 2, 3
            
              )
    async_call(func_c, handle_result, 
            
            1, 2, 3, 4
            
              )
   
    _task_queue.join()
            
          

?


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 亚洲精品久久久久中文字小说 | 欧美在线成人午夜影视 | 亚洲精品香蕉一区二区 | 91手机视频在线观看 | 国产精品白丝喷水在线观看 | 日本毛片在线观看 | 亚洲精品国产精品国自产观看 | 国内精品视频一区 | 日本在线小视频 | 国产成人精品一区二三区2022 | 日韩在线视频中文字幕 | 久久精品国产精品亚洲婷婷 | 国内在线视频 | 99热久久精品国产 | 免费精品久久久久久中文字幕 | 中国性xxxxx极品奶水 | 日本精品久久久中文字幕 | 青青青国产色视频在线观看 | 国产精品美女久久久久 | 久久综合偷偷噜噜噜色 | 日韩欧美成人免费中文字幕 | 又黑又粗又硬欧美视频在线观看 | 国产精品视频免费的 | 久久精品成人国产午夜 | 九九视频免费观看 | 一级日本强免费 | 四虎精品免费国产成人 | 中日韩欧美在线观看 | 久久久国产精品免费看 | 国产精品剧情原创麻豆国产 | 欧美日韩aa一级视频 | 91精品综合久久久久3d动漫 | 这里是九九伊人 | 国内精品综合九九久久精品 | 久9热精品视频在线观看 | 色黄网站成年女人色毛片 | 男人的天堂黄 | 九九热最新视频 | 99热久久国产精品这里有6 | 九九精品在线 | 国内亚州视频在线观看 |