Python-多線程執行代碼


導包;

import Queue
import threading

直接上代碼:

class ReportThreadTask(object):
    task_queue = Queue.Queue()

    def __init__(self):
        self.immediate_thread = None
        self.start()

    def start(self):
        self.immediate_thread = threading.Thread(target=self._exec_report_thread)
        self.immediate_thread.daemon = True
        self.immediate_thread.start()

    def _exec_report_thread(self):
        while True:
            queue_len = self.task_queue.queue
            if queue_len:
                task = self.task_queue.get(timeout=5)
                if task:
                    try:
                        # 執行線程任務
                pring('1111111')  
                    except Exception, e:
                        logging.error("immediate report except {0}".format(e))
            time.sleep(1)

    @classmethod
    def add_task(cls, task):
        cls.task_queue.put(task)

直接調用即可:

rtt = ReportThreadTask()
rtt.add_task(params)

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM