并发学习
空杯沏
空杯之心,工匠之怀
展开
-
高并发容器--CopyOnWrite
—–CopyOnWrite容器即写时复制的容器。通俗的讲就是往容器里面写数据的时候,不再当前容器写数据,而是将当前的容器拷贝一份,往拷贝新的容器里面写数据,添加完元素后,再将原容器指向新的容器。这样做的好处就是,并发读的时候不需要加锁,因为当前容器没有添加任何元素,不过写的时候需要加锁,所以CopyOnWrite也是一种读写分离的思想,适用于读多写少的并发场景,CopyOnWriteArrayLis原创 2016-10-10 09:45:04 · 1191 阅读 · 0 评论 -
重入锁 ReentrantReadWriteLock
1.lock方法-获取锁,默认情况是不公平的锁,如果其它线程占用锁的话,会等待,当线程较少的时候性能不及synchronized, 当线程较多的时候,性能较为优秀,其底层用了AQS实现。 2.unlock方法是释放锁,必须要在代码finally里面,避免没有释放锁导致线程溢出问题。 3.tryLock方法是尝试获取锁,如果锁被其他线程占有,那么获取失败,则跳过执行。其应用场景多用于进行非重要任原创 2016-10-10 09:48:23 · 631 阅读 · 0 评论