进程之锁,信息量,事件,队列,生产者消费者模型,joinablequeue





#锁 import os ,random,time,json from multiprocessing import Process,Lock def qiangPiao(i): with open('ticket','r+',encoding='utf-8')as f: ticket_info_dic=json.load(f) if ticket_info_dic['count']>0: ticket_info_dic['count']-=1 # f.write(json.dumps(ticket_info_dic)) f.seek(0) json.dump(ticket_info_dic,f) print('"id":%s "i:"%s 抢到票了 '%(os.getpid(),i)) else: print('%s没票了'%i) class myProcess(Process): def __init__(self,i,lock): super().__init__() self.i=i self.lock=lock def run(self): time.sleep(random.random()) self.lock.acquire() qiangPiao(self.i) self.lock.release() if __name__ == '__main__': with open('ticket','w',encoding='utf-8')as f: f.write('{"count":1}') lock=Lock() for i in range(9): p=myProcess(i,lock) p.start()

 

猜你喜欢

转载自www.cnblogs.com/PythonMrChu/p/9844817.html