Как проверить в п

Я учусь тестировать нити в p, как никогда раньше. Я установил блокировку, но там написано, что у меня ошибка подтверждения, и это нормально. Мне интересно, если следующий код правильный

1 ответ

Ваша проблема в том, что вы создаете новую блокировку на каждой итерации, которая всегда разблокируется.

Таким образом, это будет работать, потому что ваши нити будут пытаться получить тот же замок.

import threading

i = 0

lock = threading.Lock()

def test():
    global i
    for _ in range(100000):
        with lock:
            i += 1

threads = [threading.Thread(target=test) for t in range(10)]
for t in threads:
    t.start()

for t in threads:
    t.join()

print(i)
Другие вопросы по тегам