import time,json from multiprocessing import Process,Lock def show(i): with open("ticket") as f: dic = json.load(f) print("余票:{}".format(dic["ticket"])) time.sleep(0.1) def buy_ticket(i,lock): lock.acquire() with open("ticket") as f: dic = json.load(f) time.sleep(0.1) if dic["ticket"] > 0: print("{}买到票了".format(i)) dic["ticket"] -= 1 else: print("{}没有买到票了".format(i)) with open("ticket","w") as f: json.dump(dic,f) time.sleep(0.1) lock.release() if __name__ == '__main__': for i in range(10): p =Process(target=show,args=(i,)) p.start() lock = Lock() for i in range(10): p =Process(target=buy_ticket,args=(i,lock)) p.start()