import threading
import time
num = 0
lock = threading.Lock()
def task1(x):
global num
lock.acquire()
for i in range(x):
num += 1
print("task1","task1","task1")
lock.release()
# time.sleep(3)
def task2(x):
global num
with lock:
for i in range(x):
num -= 1
print("task2","task2","task2")
# time.sleep(3)
def main():
t1 = threading.Thread(target=task1, args=(100,))
t2 = threading.Thread(target=task2, args=(100,))
t1.start()
t2.start()
t1.join()
t2.join()
print("結果:", num)
if __name__ == '__main__':
main()
承擔因您的行為而導致的法律責任,
本站有權保留或刪除有爭議評論。
參與本評論即表明您已經閱讀并接受
上述條款。