Я изучаю поток и скопировал пример кода из книги.
Код точно такой же, но результат отличается в зависимости от способа запуска кода в Pycharm.
Вот мой код:
import threading
g_count = 0
def thread_main():
global g_count
for i in range(100000):
g_count += 1
threads = []
for i in range(50):
th = threading.Thread(target=thread_main)
threads.append(th)
for th in threads:
th.start()
for th in threads:
th.join()
print("g_count = {:,}".format(g_count))
результатом всегда будет 5 000 000, чего не ожидалось.
результат всегда отличается от ожидаемого.
Почему в этом случае режим «Выполнить» всегда печатает 5 000 000?
@tda да. не каждый раз ваш результат показывает 5 000 000?
Неа - я каждый раз получаю разный результат при нормальной работе? Вы пробовали запускать другой скрипт IDE / Jupyter notebook / python из командной строки?






Я не могу воспроизвести вашу проблему при запуске - вы уверены, что приведенный выше код точно такой же, как вы используете в PyCharm?