#!/usr/bin/env python # -*- coding: utf-8 -*- # Software: PyCharm # __author__ == "HAI" # FileName: 保护对多个线程操作同一个变量.py # Date : 2018/8/11 11:10 import threading credit = 0 lock = threading.Lock() #定义一个函数操作上面的变量,加上x然后减去x def change(x): global credit credit += x credit -= x #定义一个函数把上述函数调用100万次 def thrun(): for i in range(1000000): #唯一资源在多线程环境下被访问,则应该对资源加锁 lock.acquire() change(i) lock.release()#完成操作后释放锁 #print(credit) #thrun() th1=threading.Thread(target=thrun) th2=threading.Thread(target=thrun) th1.start() th2.start() th1.join() th2.join() print(credit)
对多线程操作同一个变量
最新推荐文章于 2024-08-10 20:26:48 发布