n**x 发帖数: 606 | 1 本人纯凑绕闹,不倾向任何一方。
系统主要特点:
- 多线程。(老魏没有给出具体多少个线程,假定100个吧。我的12 core intel xeon轻
轻松松100 thread)
- 无锁。
- 单机。
数据结构:
1. 全国1000条线 (X1, X2, X... , X1000), 每条20个区段 (S1, S2, S3... S20)。
2. 每条线的每个区段的票的总数计为:T[X1,S1], T[X1, S2]....... T[X1000, S20]
抢票程序(注意举得例子是联票)
1. 100个thread处理收到的请求
2. 每个请求包括三个参数(线路, 起始站,结束战). 比如(234次列车, 济南, 上
海)。 (注意, 234次列车是从沈阳出发,到上海的, 济南是第5个区的开始,上海最
后一个区段的结束)
3. 计算过程就是把234次列车从济南到上海的每个区段的票数做interlocked.
decrement, 如下:
- Interlocked.Decrement( T[X234,S5] )
- Interlocked.Decrement( T[X234... 阅读全帖 |
|