Python多執行緒售票案例
阿新 • • 發佈:2019-01-05
在學習多執行緒的時候,我們經常要學習到多視窗售票這一經典案例,今天我們將用Python語言寫一個簡單易懂的售票程式,幫助大家學習理解
import threading import time lock=threading.Lock() k=250 class a(threading.Thread): def __init__(self): threading.Thread.__init__(self) def run(self): global k,lock while(k>0): lock.acquire() if(k>0): print("a視窗賣出一張票,還剩"+str(k-1)+"張票") k=k-1 if(k<0 and k==0): print("票賣完了") lock.release() class b(threading.Thread): def __init__(self): threading.Thread.__init__(self) def run(self): global k,lock while(k>0): lock.acquire() if(k>0): print("b視窗賣出一張票,還剩"+str(k-1)+"張票") k=k-1 if(k<0 and k==0): print("票賣完了") lock.release() t1=a() t1.start() t2=b() t2.start()