# 模拟多线程
import threading
num=0
lock=threading.Lock()
def change_it(n):
global num
if lock.acquire():
try:
for i in range(1000000):
num = num + n
num = num - n
finally:
lock.release()
print('释放锁')
print(num)
th=threading.Thread(target=change_it,args=(8,))
th.start()
threass=[
threading.Thread(target=change_it,args=(8,)), #
# threading.Thread(target=change_it,args=(10,)),
]
# [ t.start() for t in threass ]
# [ t.join() for t in threass ]
print(num,'9999999999999')
import time
from threading import Thread
def func(name):
print(f"{name}开始")
time.sleep(0.5)
print(f"{name}结束")
if __name__ == '__main__':
t1 = Thread(target=func, args=("线程1",))
t2 = Thread(target=func, args=("线程2",))
t1.start()
t2.start()
print("主线程结束")