悲观锁和乐观锁的技术对比和应用.docx

? ? ? ? ? ? ? ? 悲观锁和乐观锁的技术对比和应用 ? ? ? ? ?? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 在大型分布式系统中,不可避免的会遇到大量并发写入的场景。在这种场景下如何进行更好的并发控制,即在多个任务同时存取数据时保证数据的一致性,成为分布式系统必须解决的问题。 悲观并发控制和乐观并发控制是并发控制中采用的主要技术手段,对于不同的业务场景,应该选择不同的控制方法也让开发者头疼,今天让通过一个故事(来源:荒唐的程序猿),讲解下其原理和优劣势。 搬好板凳,故事马上开始了。 ▼ ▼ 旺财和小强生活在一个网上商城的系统中,?是一对儿线程好基友。? 星期一刚上班,旺财接到领导电话说,要把一个商品的库存减少20,?旺财不敢怠慢,赶快把库存取出来一看,哦,现在有1000个。 与此同时,小强也接到电话说要把同一商品的库存减少30,他一看,哦,现在有1000个。 旺财计算出最新的库存值980,保存! 小强也计算出最新的库存值970,保存?! ? 旺财的数据被小强覆盖了! 领导一看,本来卖出了50个商品,现在库存只扣了30个,这样持续下去就天下大乱了。? 旺财和小强,各打二十大板,长长记性! 小强说:“哥,要不我们还是想个办法吧,再这样下去要被打死的。” 旺财悲催地说:?“这样,?以后我们每次访问库存之前,都要先加锁,加了锁,就禁止别人再进入访问,只能

文档评论(0)

1亿VIP精品文档

相关文档