来自:csdn论坛:http://topic.csdn.net/u/20090520/10/d2eac176-afca-4321-9384-45d82a6f010b.html?68881
实际售票系统中的一个方案例子:
首先没有那么复杂的锁,实际应用会尽量从业务角度考虑避免冲突:
实际售票系统是这样:
1.售票中,"座位号" 才是竞争资源;
2.售票中,查看票是不发生锁号的.
3.售票中,有个选票(选座位号)的动作,选座位号确定时,才发生锁号(即锁住改作为号,即使这锁号,也只是修改标记,表示自己暂时锁住);
4.等客户交钱后,就确定提交交易完成,这时候,就成为售出该票了(当然,被锁的号,要修改为对应的已售标记,及其他流程操作).
从这个过程看,几乎没有那么多冲突出现(只有选号时,有可能已被别人选了,这也应该知道的,可以另选号),这就是方案.