import threading
import time
ticket = 1000
lock = threading.Lock()
def sale_ticket():
global ticket
while ticket > 0:
try:
lock.acquire()
if ticket > 0:
ticket -= 1
print(threading.current_thread().name + '卖出一张还剩下{}张'.format(ticket) )
finally:
lock.release()
start = time.time()
for i in range(10):
t = threading.Thread(target=sale_ticket)
t.start()
t.join() #join作用是让创建这个线程的线程等待这个线程执行完,即让主线程等待t执行完
end = time.time()
print(end - start)