我正在学习线程,并从书中复制了示例代码。
代码完全相同,但是根据在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 ?