diff options
Diffstat (limited to 'thread-ex1.py')
-rw-r--r-- | thread-ex1.py | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/thread-ex1.py b/thread-ex1.py new file mode 100644 index 0000000..ffafbfd --- /dev/null +++ b/thread-ex1.py @@ -0,0 +1,40 @@ +import threading +import time + +exitFlag = 0 +incrementme = 0 + +class myThread(threading.Thread): + def __init__(self, threadID, name, counter): + threading.Thread.__init__(self, name=name) + self.threadID = threadID + #self.name = name + self.counter = counter + def run(self): + print("Starting " + self.name + " at: " + time.ctime(time.time())) + print_time(self.name, self.counter, 1) # delay fixed to 1 second for simplicity + print("Exiting " + self.name) + +def print_time(threadName, counter, delay): + global incrementme + while counter: + if exitFlag: + threadName.exit() + time.sleep(delay) + print("%s: %s" % (threadName, time.ctime(time.time()))) + counter -= 1 + incrementme = incrementme + 1 + +# Create new threads +thread1 = myThread(1, "Thread-One", 5) +thread2 = myThread(2, "Thread-Two", 10) + +# Start new Threads +thread1.start() +thread2.start() + +thread1.join() # .join() will wait for thread to finish, otherwise script will race till the end and result will be 0 +thread2.join() +print(f"result is: {incrementme}") + +print("End of Program. Exiting Main Thread")
\ No newline at end of file |