随笔分类 -  juc

摘要:ConcurrentHashMap尽可能减小锁粒度实现高并发的支持,在ConcurrentHashMap内部,默认将HashMap分成16段,原后根据Hash算法将数据存入不同的段,每次向HashMap中存入数据时只需要锁住其中的一段,理论上,如果不是存入同一段,可以支持16个线程同时存入数据。 但是ConcurrentHashMap如果执行size方法,则需要分别锁住所有的段进行统计... 阅读全文
posted @ 2014-03-18 16:01 zengxianxi 阅读(227) 评论(0) 推荐(0)
摘要:并发List Vector和CopyOnWriteArrayList是两个线程安全的List,Vector读写操作都用了同步,相对来说更适用于写多读少的场合,CopyOnWriteArrayList在写的时候会复制一个副本,对副本写,写完用副本替换原值,读的时候不需要同步,适用于写少读多的场合。并发Set CopyOnWriteArraySet基于CopyOnWriteArrayLis... 阅读全文
posted @ 2014-03-18 15:57 zengxianxi 阅读(4576) 评论(0) 推荐(1)
摘要:内部锁: 内部锁就是synchronised,由jvm内部实现管理重入锁: 它可以中断、可定时 重入锁(ReentrantLock),提供公平和非公平两种锁,公平锁保证先进先出,但是有一定的性能省耗 它是一种互斥的实现,一次只能一个线程拿到锁; 如果一个线程试图获取一个已经由它自己持有的锁,那么这个请求会成功,“重入”意味着获取锁的粒度是线程,而不是调用者。... 阅读全文
posted @ 2014-03-18 15:46 zengxianxi 阅读(475) 评论(0) 推荐(0)