python-多任务编程-线程资源抢夺解决

线程锁,示例代码如下:

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()
posted @ 2021-03-26 16:23  程序员陈师兄cxycsx  阅读(271)  评论(0)    收藏  举报