python - 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))
- 当我使用“运行”(ctrl+shift+F10) 运行代码时
结果总是5,000,000,这是意料之外的。
- 当我使用“调试”运行代码时 (alt+shift+F10)
结果总是和预期的不同。
在这种情况下,为什么“运行”模式总是打印5,000,000?
解决方案
推荐阅读
- c++ - 在 node.js 中使用 javascript 时通过 TCP 套接字写入文本
- c# - 如何解决 Web Service 方法名无效。?
- excel - VBA Excel - 如何提取 XML 元素
- docker - WSO2 - 优雅地关闭 docker 容器
- dictionary - 猪计数澄清
- laravel - 滑动导航不起作用-Webpack(Laravel)
- java - 如何获取Aspect中注解参数中的方法并获取方法执行的结果
- c++ - 不知道如何从后缀为“.yy”的源文件构建。此列表中应有一个后缀:['.lm', '.ll']
- javascript - VueJS - 成功发出事件后运行代码
- svelte - 在 FastAPI 中从根目录提供静态文件