diff --git a/threadjoin.py b/threadjoin.py new file mode 100644 index 0000000..3351725 --- /dev/null +++ b/threadjoin.py @@ -0,0 +1,33 @@ +"""Checking if we can get the result of a thread on a join(), like other +languages. +""" + +from threading import Thread + +class ThreadWithReturn(Thread): + def __init__(self, *args, **kwargs): + super().__init__(*args, **kwargs) + self._return = None + + def run(self): + self._return = self._target(*self._args, **self._kwargs) + + def join(self): + super().join() + return self._return + + +def runner(value): + return value + 2 + + +def main(): + t = ThreadWithReturn(target=runner, args=[2]) + t.start() + val = t.join() + print(val) + + + +if __name__ == '__main__': + main()