#!/usr/bin/python3
# ===================================================================
# From: www.youtube.com/watch?v=rQTJuCCCLVo
# ===================================================================
import threading
x = 0 # global data
def thread_task(lock):
global x
for i in range(1000000):
lock.acquire()
x += 1
lock.release()
def main_task():
lock = threading.Lock()
# args is a tuple
t1 = threading.Thread(target=thread_task, args=(lock,))
t2 = threading.Thread(target=thread_task, args=(lock,))
t1.start()
t2.start()
t1.join()
t2.join()
# ---- main
if __name__ == '__main__':
main_task()
print(x)