当多个线程同时操作一个变量的时候,这个变量就容易发生错误。导致计算错误
5个线程同时操作一个变量:
import threading
number=0 #被同时操作的变量
def add():
global number
for i in range(500000):
number+=i
threads_list=[]
for i in range(5):
t=threading.Thread(target=add)
t.start()
threads_list.append(t)
for t in threads_list: #让主线程等待所有子线程计算结束后,再执行后面的打印
t.join()
print(number) #624998750000
运行后>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>第一次运行后:
264959265178第二次运行后: 两次运行结果都不一样
398089529723 | 留言与评论(共有 0 条评论) “” |