# -*- coding: UTF-8 -*- # 这个案例、在2.X上执行有的时候会不准、但是在3.X上没问题 import time import threading def addNum(): global num # 在每个线程中都获取这个全局变量 #print('get num:', num) time.sleep(1) num += 1 # 对此公共变量进行+1操作 print('get num:', num) num = 0 # 设定一个共享变量 thread_list = [] for i in range(100): t = threading.Thread(target=addNum) t.start() thread_list.append(t) for t in thread_list: # 等待所有线程执行完毕(如果不加,子线程没执行完、结果会不准) t.join() # 当加上join的时候,主线程依赖子线程执行完毕之后再执行 print('final num:', num)