线程锁,示例代码如下:
import threading
import time
total = 0
def add(lock):
global total
for i in range(100000):
lock.acquire()
total += 1
lock.release()
def minus(lock):
global total
for i in range(100000):
lock.acquire()
total -= 1
lock.release()
def main():
# add()
# minu()
lock = threading.Lock()
t1 = threading.Thread(target=add, args=(lock, ))
t2 = threading.Thread(target=minus, args=(lock, ))
t1.start()
t2.start()
time.sleep(2)
print(total)
print('程序执行结束...')
if __name__ == '__main__':
main()