我正思考呢

在讲完并发事务的不一致问题后,我继续介绍解决的办法

办法主要基于两类:

  • 预防问题:加锁
  • 撤销问题
    • 时间戳
    • 有效性检验

为增强互动效果,我邀请老妈选择一个类型开启。但她已经昏昏欲睡,没有兴致。我便自顾自按顺序讲来:

锁有多种类型:

  1. 排它锁 exclusive
  2. 共享锁 shared
  3. 更新锁 update
  4. 增量锁 increment

也给它们临时想了一些例子作为佐证:

x锁虽然解决了刚才购票的问题。但如果遇到了许多人只需要读取数据,比如很多人查看股市的情况,这就不需要更改数据,所以可以使用s锁

还有呢,虽然购票的修改数据需要排它锁避免出现问题,但是有一些情况并不会出错,比如:小区缴纳水电费,很多人在排队,但谁先交谁后交并没有什么区别。因为结果是向上累积增加的,这就可以用到增量锁:没有必要等待其他人都交完,所有人都可以把原数据增加新数据,提高效率。

之后,涉及概念更多的时间戳和有效性检验我没有讲太深入,大脑中结合图像,思考更多。

告一段落后,老妈迷迷糊糊醒来,我想逗逗她,故作严肃:

‘考考你啊,刚才讲了哪几种锁?’

‘emm,安全锁’ ‘嗯!接着说’我没有表现,想等最后再告诉她答案。

‘还有……’显然,她默认刚才说对了,/(ㄒoㄒ)/~~

沉默半晌,我催促她:’快说!‘

‘呃,正思考呢’我看向她,眼睛闭紧,眉头紧皱,确实是在用力思考的样子。‘刚才睡着了一会,听到有两种锁是呗,就记得你讲得那个例子,什么,什么来着?’

她的样子,活像一个犯了错的小学生,我的心中生出了一丝爱怜。‘嗯,那个分析股市的’……

不再戳破她第一个的错误了,这样还能得50分呢!

Leave a comment

Your email address will not be published. Required fields are marked *