Below is a simple python code, which just prints the actual time/date with delay. I would be very grateful if someone can explain to me (as simply as possible) when and why the programm goes into the if statement (if exitFlag:) What is the statement? if exitFLag == True? Sry I don't understand this line.
I tried to copy the function with a similiar and simpler code. But here the programm won't go into the if statement. I hope someone can help me to understand the code better.
test = 0
counter = 10
while counter:
if test:
print("if-statement is called")
break
print("still in loop")
counter -=1
import threading
import time
exitFlag = 0
class myThread(threading.Thread):
def __init__(self, threadID, name, counter):
threading.Thread.__init__(self)
self.threadID = threadID
self.name = name
self.counter = counter
def run(self):
print("Starting " + self.name)
print_time(self.name, self.counter, 5)
print("Exiting " + self.name)
def print_time(threadName, counter, delay):
while counter:
if exitFlag:
threadName.exit()
time.sleep(delay)
print("%s: %s" % (threadName, time.ctime(time.time())))
counter -= 1
thread1 = myThread(1, "Thread-1", 1)
thread2 = myThread(2, "Thread-2", 2)
thread1.start()
thread2.start()
thread1.join()
thread2.join()
print("Exiting main thread")