首先作者在第一篇文章就说了,线程之间是共享全局变量的,具体体现在,我们编写的代码中,我们自己定义了一个顺序执行(join()),那么就不会出错,但是当同时进行的时候,就会出错,上篇文章举过一个小案例 1,多线程同时对全局变量进行操作 import threading # 定义全局变量 g_num = 0 # 循环一次给全局变量加1 def sum_num1(): for i in range(1000000): global g_num g_num += 1 print("sum1:", g_num) # 循环一次给全局变量加1 def sum_num2(): for i in range(1000000): global g_num g_num += 1 print("sum2:", g_num) if __name__ == '__main__': # 创建两个线程 first_thread = threading.Thread(target=sum_num1) second_thread = threading.Thread(target=sum_num2) # 启动线程 first_thread.start() # 启动线程 second_thread.start() 执行结果 sum1: 1210949 sum2: 1496035 1.1这里就是我之前说的数据发生了偏差 2&