python 獲取 多執行緒的返回值
阿新 • • 發佈:2018-11-19
import time import threading class MyThread(threading.Thread): def __init__(self, target=None, args=(), **kwargs): super(MyThread, self).__init__() self._target = target self._args = args self._kwargs = kwargs def run(self): if self._target == None: return self.__result__ = self._target(*self._args, **self._kwargs) def get_result(self): self.join()#當需要取得結果值的時候阻塞等待子執行緒完成 return self.__result__ def te(a, b=2, c=3): print(a, b, c) time.sleep(1) return 1 st = MyThread(target=te, args=(1,), c=4) st.start() print('result:',st.get_result())
執行結果:
1 2 4
result: 1