摘要:
在Java1.8之后提供了一种印章锁,性能上读写锁更快,并且支持乐观锁,悲观锁。 其中,写锁、悲观读锁的语义和 ReadWriteLock 的写锁、读锁的语义非常类似,允许多个线程同时获取悲观读锁,但是只允许一个线程获取写锁,写锁和悲观读锁是互斥的。不同的是:StampedLock 里的写锁和悲观读 阅读全文
posted @ 2020-12-30 15:08
smartcat994
阅读(129)
评论(0)
推荐(0)
摘要:
一种非常普遍的并发场景:读多写少场景。实际工作中,为了优化性能,我们经常会使用缓存,例如缓存元数据、缓存基础数据等,这就是一种典型的读多写少应用场景。缓存之所以能提升性能,一个重要的条件就是缓存的数据一定是读多写少的,例如元数据和基础数据基本上不会发生变化(写少),但是使用它们的地方却很多(读多)。 阅读全文
posted @ 2020-12-30 11:06
smartcat994
阅读(83)
评论(0)
推荐(0)
摘要:
信号量是由大名鼎鼎的计算机科学家迪杰斯特拉(Dijkstra)于 1965 年提出,在这之后的 15 年,信号量一直都是并发编程领域的终结者,直到 1980 年管程被提出来,我们才有了第二选择。目前几乎所有支持并发编程的语言都支持信号量机制。 信号量的模型 一个计数器+一个等待队列+三个对外开放的方 阅读全文
posted @ 2020-12-30 10:40
smartcat994
阅读(121)
评论(0)
推荐(0)

浙公网安备 33010602011771号