博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
12306抢票软件
阅读量:3960 次
发布时间:2019-05-24

本文共 868 字,大约阅读时间需要 2 分钟。

import json,time# 读写数据库中的票数def wr_info(sign,dic=None):	if sign == "r":		with open("ticket",mode="r",encoding="utf-8") as fp:			dic = json.load(fp)		return dic			elif sign == "w":		with open("ticket",mode="w",encoding="utf-8") as fp:			json.dump(dic,fp)		# res = wr_info("r")# print(res)# dic = {"count":0}# wr_info("w",dic)# 抢票方法def get_ticket(person):	# 获取数据库中实际的票数	dic = wr_info("r")	print(dic)		# 模拟一下网络延迟	time.sleep(0.5)		# 判断票数	if dic["count"] > 0 :			print("%s抢到票了" % (person))		dic["count"] -= 1		wr_info("w",dic)	else:		print("%s没有抢到这张票" % (person))def run(person,lock):		# 查看剩余票数	dic = wr_info("r")		print("%s 查询票数: %s" % (person , dic["count"]) )				# 上锁	lock.acquire()	# 开始抢票	get_ticket(person)	lock.release()if __name__ == "__main__":	lock = Lock()	lst = ["科比","麦迪","高峰","姚明","邓肯","成龙","刘亦菲"]	for i in lst:		p = Process(target=run,args=(i,lock))		p.start()

转载地址:http://pwhzi.baihongyu.com/

你可能感兴趣的文章
我的工作日志5
查看>>
aspx上传、预览图片
查看>>
我的工作日志6
查看>>
我的软件工程之路(五)—四个月总结
查看>>
从入职到离职的收获——ICT四个月
查看>>
项目中用到的一个导入Excel的方法
查看>>
项目中一个用于导出word的方法
查看>>
项目中用到小技术点
查看>>
管理数据库连接不得不注意的地方
查看>>
KS系统总结
查看>>
测试Jsp 静态包含和动态包含
查看>>
简析几种常用的Web监听
查看>>
Web应用过滤器Fileter
查看>>
代理模式(Proxy)
查看>>
采用动态代理对事务进行封装
查看>>
采用ThreadLocal维护Connection
查看>>
测试JSTL表达式
查看>>
一口一口吃掉Struts(六)——动态ActionForm
查看>>
一口一口吃掉struts(七)——ActionForward知多少
查看>>
浅析Hibernate映射(二)——关系映射(3)
查看>>