Browse Source

Make everything in thread

master
Julio Biason 2 years ago
parent
commit
8ec1586a3a
  1. 30
      threadjoin.py

30
threadjoin.py

@ -2,30 +2,40 @@
languages.
"""
import time
from threading import Thread
class ThreadWithReturn(Thread):
def __init__(self, *args, **kwargs):
def __init__(self, value, *args, **kwargs):
super().__init__(*args, **kwargs)
print(f'Created thread with time {value}')
self._value = value
self._return = None
def run(self):
self._return = self._target(*self._args, **self._kwargs)
time.sleep(self._value)
self._return = self._value + 2
print(f'Thread {self._value} completed')
def join(self):
super().join()
print(f'Thread {self._value} joined')
return self._return
def runner(value):
return value + 2
def main():
t = ThreadWithReturn(target=runner, args=[2])
t.start()
val = t.join()
print(val)
values = reversed(range(5))
threads = []
for value in values:
t = ThreadWithReturn(value)
t.start()
threads.append(t)
for thread in threads:
val = thread.join()
print(f'Returned value: {val}')

Loading…
Cancel
Save