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