首页 > 解决方案 > Pycharm_为什么我以正常模式和调试模式运行代码时结果不同?

问题描述

我正在学习线程并从书中复制了一个示例代码。

代码完全相同,但根据在 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))
  1. 当我使用“运行”(ctrl+shift+F10) 运行代码时

结果总是5,000,000,这是意料之外的。

  1. 当我使用“调试”运行代码时 (alt+shift+F10)

结果总是和预期的不同。

在这种情况下,为什么“运行”模式总是打印5,000,000

标签: pythonmultithreadingpycharm

解决方案


推荐阅读