diff options
author | Kyle K <kylek389@gmail.com> | 2020-10-19 00:33:08 -0500 |
---|---|---|
committer | Kyle K <kylek389@gmail.com> | 2020-10-19 00:33:08 -0500 |
commit | 1cc2e945634759e16e54d46cb5be447759eef75d (patch) | |
tree | ed87bf3385f5b454359cf1f5e859ced029002a5d /thread-ex1.py | |
parent | f690e608f2a7ff76530d1d4603b2786eb18aa3cf (diff) | |
parent | 4c196a0a88f52363a2850a3c4bd3fcc4408f35e2 (diff) | |
download | PythonPractice-1cc2e945634759e16e54d46cb5be447759eef75d.tar.gz PythonPractice-1cc2e945634759e16e54d46cb5be447759eef75d.tar.bz2 PythonPractice-1cc2e945634759e16e54d46cb5be447759eef75d.zip |
Merge branch 'master' of cryptohash.nl:/home/git/PythonPractice
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 |