
JUC
文章平均质量分 65
ζั̯͡.aimζั̯͡✿
这个作者很懒,什么都没留下…
展开
-
谈谈ConcurrentHashMap是如何保证线程安全的?
我们知道,ConcurrentHashmap(1.8)这个并发集合框架是线程安全的,当你看到源码的get操作时,会发现get操作全程是没有加任何锁的,这也是这篇博文讨论的问题——为什么它不需要加锁呢?JDK1.8的实现降低锁的粒度,JDK1.7版本锁的粒度是基于Segment的,包含多个HashEntry,而JDK1.8锁的粒度就是HashEntry(首节点)JDK1.8版本的数据结构变得更加简单,使得操作也更加清晰流畅,因为已经使用synchronized来进行同步,所以不需要分段锁的概念,也就不需要Se原创 2022-06-10 16:44:38 · 1464 阅读 · 1 评论 -
多线程快速处理 List 集合
有一个大List集合,遍历进行一些耗时操作,不能达到性能要求,查询日志,单个任务虽然有不少数据库和第三方API请求,比较耗时,但返回效率尚可,所以优先采用多线程方式进行处理并行请求数据库和第三方API,因为处理完还要对list所属的数据进行操作,所以,线程池多线程处理要等待全部处理完。相关的代码如下:@Testpublic void testTB(){ List < String > list = new ArrayList < > (); for(int i原创 2022-05-12 09:16:00 · 409 阅读 · 0 评论