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