|
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) |