Как проверить в п
Я учусь тестировать нити в 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)