亚洲城官方网站java怎样完成线程安全的缓存

( 亚洲城官方网站 )

众所周知,java中完成缓存最复杂的办法便是运用LinkedHashMap。参考: http://aliahhqcheng.iteye.com/admin/blogs/1665024

但是如许的缓存,在多线程下就会呈现题目,使得次序发作十分。那么题目来了,怎样完成一个线程安全的缓存呢?

  1. 有线程安全的HashMap–>ConcurrentHashMap,但是没有线程安全的LinkedHashMap。不过阿里的同窗完成了一个对ConcurrentHashMap中断改装,完成了线程安全的缓存,参考:http://jm-blog.aliapp.com/?p=689
  2. 运用Collections.synchronizedMap()包装LinkedHashMap,这个也是一种完成方法。
  3. 运用读写锁ReentrantReadWriteLock+LinkedHashMap完成。
  4. 运用synchronized + memcached
  5. redis可以支持吗?
  6. guava cache怎样完成的

想听一听大家的发起?

redis的一些原子操纵可以支持多线程

读写锁ReentrantReadWriteLock+LinkedHashMap 会有线程安全题目,最好是用ConcurrentHashMap+RWLock

(看完/读完)这篇文章有何感想! 亚洲城官方网站的分享…

发表评论

电子邮件地址不会被公开。 必填项已用*标注