封装线程池ThreadPoolExecutor

封装代码
class MyThread(object):
    def __init__(self):
        # 线程池  根据自己需要传入最大线程数量,我只需要一个所以传1
        self.executor = ThreadPoolExecutor(2)
        # 用于存储期程
        self.future_dict = {}

    # 检查worker线程是否正在运行
    def is_running(self, tag):
        future = self.future_dict.get(tag, None)
        if future and future.running():
            return True
        return False

    def __del__(self):
        self.executor.shutdown()


thread = MyThread()

使用实例

if not thread.is_running("worker"):
    future = thread.executor.submit(添加需要异步的函数,x,y,z)
    thread.future_dict["worker"] = future

猜你喜欢

转载自blog.csdn.net/Steven_yang_1/article/details/134112728
今日推荐