import threading
x = 0
l1=threading.Lock()
def foo():
 global x
 for i in range(1000):
     l1.acquire()
     x += 1
     l1.release()
def bar():
 global x
 for i in range(1000):
     l1.acquire()
     x -= 1
     l1.release()
t1 = threading.Thread(target=foo)
t2 = threading.Thread(target=bar)
t1.start()
t2.start()
t1.join()
t2.join() # Wait for completion
print x
