import threading
import time
# 多个线程可以同时操作一个全局变量(多个线程共享全局变量)
# 线程安全问题
ticket = 20
look = threading.Lock()
def sell_ticekt():
global ticket
while True:
lock.acquire()
if ticket > 0:
time.sleep(0.1)
ticket -= 1
lock.release()
print('{}卖出了一张票,还剩{}张票'.format(threading.current_thread().name,ticket))
# time.sleep(0.1)
else:
lock.release()
print('票卖完了!!!')
break
t1 = threading.Thread(target=sell_ticekt,name='线程1')
t2 = threading.Thread(target=sell_ticekt,name='线程2')
t1.start()
t2.start()
01-12
826
01-13
282
“相关推荐”对你有帮助么?
-
非常没帮助
-
没帮助
-
一般
-
有帮助
-
非常有帮助
提交