кажется не очень хорошо
Вот тут сказано что гил не делает операцию a = a+1 атомарной.
https://docs.python.org/3/faq/library.html#what-kinds-of-global-value-mutation-are-thread-safe
Вопрос: почему этот код не демонстрирует рейс кондишн хотя по идее должен?
from threading import Thread
a = 0
def increment():
global a
a = a + 1
threads = []
for _ in range(10000):
threads.append(Thread(target=increment))
for t in threads:
t.start()
for t in threads:
t.join()
print(a)
Потому что потоки завершаются быстрее, чем отпускают гил
10 тыщ тредов? тебе куда столько? у тебя тупо может не происходить рейс
10 тредов и в каждом 10к операций
Бля, я перепутал куда был отает
Обсуждают сегодня