import threading
import time
balance = 0
lock = threading.Lock()
def run_thread(n): global balance
for i in range(100):
lock.acquire()
balance = balance + 1
n = n + balance
time.sleep(1)
print(threading.current_thread().name)
print(n)
print("\r\n\r\n")
lock.release()
t1 = threading.Thread(target=run_thread, args=(5, ), name="t1")
t2 = threading.Thread(target=run_thread, args=(8, ), name="t2")
t1.start()
t2.start()
t1.join()
t2.join()
print(balance)
执行结果: t1 4661
t1 4758
t1 4856
t1 4955
t1 5055 -------------------这儿是 t1 线程已经执行完毕了
t2 109---------------------t2 线程开始执行了
t2 211
t2 314
t1 线程全部走完才会走 t2 线程