import threading
import time
def job1():
global A, lock
lock.acquire()
for i in range(10):
A += 1
lock.release()
def job2():
global A, lock
lock.acquire()
for i in range(10):
A += 10
lock.release()
if __name__ == '__main__':
start1 = time.time()
lock = threading.Lock()
A = 0
t1 = threading.Thread(target=job1)
t2 = threading.Thread(target=job2)
t1.start()
t2.start()
t1.join()
t2.join()
print(A)
end1 = time.time()
print("thread cost:", end1 - start1)
start2 = time.time()
a = 0
for i in range(10):
a += 1
for i in range(10):
a += 10
print(a)
end2 = time.time()
print('normal cost:', end2 - start2)