面试题答案
一键面试商品级别锁粒度
- 对并发性能的影响:能提供较高的并发性能。
- 原因:不同商品的库存扣减操作可以同时进行,互不干扰。每个商品有独立的锁,当高并发请求来临时,针对不同商品的请求可以并行处理,只要不同时操作同一商品的库存,就不会因为锁竞争而等待,极大地提高了系统处理并发请求的能力。
店铺级别锁粒度
- 对并发性能的影响:并发性能相对商品级别锁粒度有所降低。
- 原因:同一店铺内不同商品的库存扣减操作会竞争同一把锁。例如一个店铺有多种商品,当一个请求在扣减该店铺某一商品库存时,其他针对该店铺内其他商品库存扣减的请求就需要等待锁的释放,这就限制了同一店铺内商品库存扣减操作的并发度,从而使整体并发性能下降。
全局级别锁粒度
- 对并发性能的影响:并发性能最低。
- 原因:所有商品的库存扣减操作都竞争同一把全局锁。无论哪个商品的库存扣减请求,都需要先获取全局锁,这就导致高并发情况下大量请求会因为等待锁而阻塞,只有获得锁的请求才能执行库存扣减操作,严重限制了系统的并发处理能力,并发性能最差。