python多线程异步同时执行多个函数的方法

发布时间:2019-09-10编辑:脚本学堂
python多线程异步同时执行多个函数的方法,有需要的朋友可以参考下。只是一个最初的想法,先放在这里吧,以后有机会再深入研究。

python多线程异步同时执行多个函数的方法,有需要的朋友可以参考下。
只是一个最初的想法,先放在这里吧,以后有机会再深入研究。
 

复制代码 代码如下:
#coding:utf-8
 
import sys
import os
import Queue
import threading
 
from workerpool import WorkerPool, SimpleJob
 
class Manager(object):
 
    def __init__(self):
        self.threadpool = WorkerPool(5)
 
    def stop(self):
        self.threadpool.shutdown()
 
    def runSequenceCmds(self, ip_addresses, func_list, use_root = False, queue = None):
        if queue is None:
            queue = Queue.Queue()
 
        for ip in ip_addresses:
            self.threadpool.put(SimpleJob(queue,
                                          self._runSequenceCmd,
                                          (ip, func_list, use_root),
                                          ),
                                )
        
    def _runSequenceCmd(self, ip, cmd, func_list, use_root = False):
 
        for func in func_list:
            go_on, result = func(cmd)
            if not go_on:
                break
 
 def main():
    pass
    
 
if __name__ == '__main__':
    main()