Избыточная/лишняя итерация в цикле
В общем, моя проблема заключается в избыточной итерации в цикле, когда запускается код.
По какой-то причине происходит 2 итерации в цикле, находящиеся в первой функции. Я не особо понимаю тему с потоками, соответственно, я не могу понять, как можно убрать эту лишнюю итерацию.
Код:
import threading
import time
mutex = threading.Lock()
flag = True
def function1():
count = 0
# происходит всегда лишняя итерация в начале, когда запускается код.
# мне нужно, чтобы поток сразу заблокировался после первой итерации.
while flag:
time.sleep(0.01)
count += 1
print("\nFunction 1: Увеличение на 1:", count)
mutex.acquire()
def function2():
count = 0
while flag:
time.sleep(0.1)
count += 2
print("\nFunction 2: Увеличение на 2:", count)
function3()
def function3():
global flag
con_input = input("Do you want to continue: ")
if con_input.lower().strip() in ["yes", "y"]:
mutex.release()
else:
flag = False
mutex.release()
return
thread1 = threading.Thread(target=function1, name="first")
thread2 = threading.Thread(target=function2, name="second")
thread1.start()
thread2.start()