摘要:
概述 本文详细介绍CountDownLatch的两种使用场景,分别是倒数(等待所有的线程处理完成)和唤醒所有线程同时运行(适用于性能测试中触发所有并发同时运行)。 下文从这个两个方面进行介绍 CountDownLatch倒数实例 实例代码利用CountDownLatch的downLatch方法让子线 阅读全文
posted @ 2020-04-24 15:52
cnxieyang
阅读(260)
评论(0)
推荐(0)
摘要:
本文基于如何去控制并发流程方面做详细介绍,主要介绍相关观念和控制手段。后续详细介绍各种控制手段的用法、实例及代码分析。 概述 有了控制并发流程,可以更好的去协调各个线程之间的工作,涉及各个线程之间的合作策略。 Semaphore:信号量 我们可以理解为:访问系统时,只有有限的凭证,只有拿到凭证之后才 阅读全文
posted @ 2020-04-24 15:45
cnxieyang
阅读(256)
评论(0)
推荐(0)
摘要:
本文主要介绍并发队列相关的知识。 概述 简单介绍各个并发并发队列的关系,并发队列是指线程安全的队列,包含:阻塞队列和非阻塞队列,区别如下。 阻塞队列:满了之后不能再插入,当队列为空的时候,读不到会阻塞 非阻塞队列:和阻塞队列完全不一样的 部分类图如下所示: 阻塞队列 对阻塞队列进行介绍,阻塞队列自身 阅读全文
posted @ 2020-04-24 14:31
cnxieyang
阅读(421)
评论(0)
推荐(0)
摘要:
本文详细介绍CopyOnWriteArrayList,从概述、原理、使用、源码、缺点等方面进行说明 背景 简要介绍下CopyOnWriteArrayList产生的背景 1.Vedtor 和SynchronizedList的锁力度比较大,基本上可以认为都是加锁在方法层面,并发度降低。(只有一把锁) 2 阅读全文
posted @ 2020-04-24 11:24
cnxieyang
阅读(536)
评论(0)
推荐(0)
摘要:
本文阐述ConcurrentHashMap线程安全问题,ConcurrentHashMap可以保证多线程读写操作时的安全,实际代码使用时,可能会有以下误区,从下面的实例代码中进行演示。 两个线程分别进行++操作,总共加2000次,核对输出结果是否是2000; 有误区的实例代码 实例代码如下所示。 p 阅读全文
posted @ 2020-04-24 10:59
cnxieyang
阅读(1750)
评论(0)
推荐(0)
摘要:
我们在使用HashMap时,产生了死循环,本文对其进行分析,此问题仅在JDK1.7及之前存在! 实例代码 实例代码如下,我们模拟两个线程同时操作HashMap package com.yang.concurrent; import java.util.HashMap; /** * 本实例演示Hash 阅读全文
posted @ 2020-04-24 09:28
cnxieyang
阅读(822)
评论(0)
推荐(0)
摘要:
我们都熟知在高并发的场景下,ArrayList是线程不安全的,JDK Collections接口提供线程安全的操作,本文通过代码演示下,最后查看源码分析下为何是线程安全的。 ArrayList升级为线程安全的List 实例 具体实现代码如下,使用Collections工具类进行升级,如下图 pack 阅读全文
posted @ 2020-04-24 09:00
cnxieyang
阅读(11244)
评论(0)
推荐(0)
摘要:
在介绍并发容器-ConncurrentHashMap,我们先看下Map类的相关类图,如下所示。 Map类图 如下所示 阅读全文
posted @ 2020-04-24 08:36
cnxieyang
阅读(498)
评论(0)
推荐(0)
摘要:
本文简单介绍JDK提供的并发容器有哪些,加下图所示。 阅读全文
posted @ 2020-04-24 08:31
cnxieyang
阅读(119)
评论(0)
推荐(0)

浙公网安备 33010602011771号