多线程抢购秒杀程序的优化?
有这样的一个案例:
电影院的抢票秒杀 : 一共有3个步骤 :
登陆进去 后
页面A第一步: 进去后系统给你分配哪一天的第几场?
页面A第二部:在本页面上面系统给出了当前可用的日期和当天可用抢购的 场次,但是要输入一个 确认码,比如 姓名、身份证号等
页面A第三步:输入了后,点击确认,确认订购抢票。完成
如果上一场抢完,则从第一步进去后,系统自动会给你安排下一场的抢票
之前的时候做了个程序,按照流程 从第一步到第三步可以抢到票,但是现在很难抢到了,不知道是不是人太多了,抢的时候服务器很慢,而且总是发出请求后,半天才反应,然后提示说已经被预定了,程序只能又从第一步开始重新获取最新的系统分配的场次和日期,但是进去后又被抢了,又的重复。
现在的时候如果想抢多张票的话,就开几个线程,一个线程抢一张,
所以有没有可优化的步骤?服务器上的web程序是asp.net做的,如果我现在增加线程,每张票我也是用多线程,
如果我要抢3张票,每张票用3个线程去抢,那一共就会有 9个线程,可能会增加抢到的可能性。
其他的方面有没有可优化的地方?
我使用的是 httpwebreqeust 来连接服务器 ,如果是Socket会不会快点?
如果不是抢票的时间段进去的话,那速度很快 ,但是如果是在抢票的时候进去的话 就非常慢。