2017年12月8日
摘要: 1、减少锁持有时间:(根据有效的条件去减少锁住的代码) 2、减少锁的颗粒度(将大面积分成小面积) ConcurrentHashMap是由Segment数组结构和HashEntry数组结构组成。Segment是一种可重入锁ReentrantLock,在ConcurrentHashMap里扮演锁的角色, 阅读全文
posted @ 2017-12-08 18:12 一个帅哥9527 阅读(284) 评论(0) 推荐(0) 编辑
摘要: // 注意:不同的颜色,表示不同的逻辑,前面的数字,是他们各自的逻辑顺序, //这个方法没有任何的锁操作,线程安全完全是由cas操作和队列的算法来保证的,整个方法的核心是for循环,这个循环没有出口,知道尝试成功 public boolean offer(E e) { checkNotNull(e) 阅读全文
posted @ 2017-12-08 14:55 一个帅哥9527 阅读(1106) 评论(0) 推荐(0) 编辑
摘要: ConcurrentHashMap: 一个高并发的HashMap CopyOnWriteArrayList : 这是一个list和ArrayList是 一族,在读多写少的场合,这个list性能非常好 (当写入当时候,先对数组进行了次复制,Arrays.copyof(oldArr,len+1),然后s 阅读全文
posted @ 2017-12-08 13:44 一个帅哥9527 阅读(324) 评论(0) 推荐(0) 编辑
摘要: TheadPoolExector.Worker是EhreadPoolExecutor的内部类,它是一个实现了Runnable接口的类 beforeExecute() 线程执行之前调用 afterExecute() 线程执行之后调用 terminaerd() 线程池退出时候调用 阅读全文
posted @ 2017-12-08 11:14 一个帅哥9527 阅读(2575) 评论(0) 推荐(0) 编辑