缓存的具体实现
2.缓存的具体实现
1)缓存是原始数据类型
马克-to-win:本 部分我们还是沿用上面的买车票的例子。不过这次的车票不是放在数据库当中,而是放在内存(缓存)当中。为了车票数这个变量不能被两个线程同时改变,我们或者可以用synchronized冠以买票的方法,或者可以加锁。在我们这部分教学中,我们采 取了加锁的方法。一共讲了两个方案,一个是悲观锁,一个是乐观锁。马克-to-win:悲观锁的意思是只有拿到了锁才能改变变量,而乐观锁的意思是两个线程可以直接改变这个变量,但如果发现变量的 版本跟当时取变量的版本不一样时,就放弃这种改变。这里我们手动编写这两种锁,只是实现了锁的思想,还有很多细节没有实现,比如排队等候等。
更多内容请见原文,文章转载自:https://blog.csdn.net/qq_44638460/article/details/104136891