Java并发
夜雨落花
这个作者很懒,什么都没留下…
展开
-
ConcurrentHashMap的实现原理及源码分析
HashMap是集合框架中非常常用的一个成员,但是HashMap并不是线程安全的。在并发场景下,可以使用Collections类的静态方法synchronizedMap使用线程安全的Map,但是synchronizedMap方法返回的SynchronizedMap实例实际上是通过在各个方法中添加synchronized同步锁来保证线程安全的,频繁的加锁和开锁会导致性能的严重下降。推荐使用C...原创 2019-05-05 15:10:34 · 1268 阅读 · 1 评论 -
线程池ThreadPoolExecutor中execute和submit方法对比
方法定义:// ExecutorService接口中定义的方法:Future<?> submit(Runnable task);<T> Future<T> submit(Runnable task, T result);<T> Future<T> submit(Callable<T> task);// Threa...原创 2019-06-16 16:24:41 · 2540 阅读 · 2 评论 -
Java并发系列之中级篇之并发包:并发场景下的集合框架
目录内容提要一、ConcurrentHashMap二、CopyOnWriteArrayList三、ConcurrentLinkedQueue1、重要内部类2、重要成员变量3、入队方法:offer(E e)和add(E e)4、出队方法:poll(),peek()和element()四、BlockingQueue1、概述2、ArrayBlockingQue...原创 2019-09-01 16:49:40 · 262 阅读 · 0 评论 -
Java并发系列之中级篇之并发包:线程池ThreadPoolExecutor
目录一、概览1、背景2、继承关系二、线程池的内部实现1、构造函数解析1、int corePoolSize2、int maximumPoolSize3、long keepAliveTime4、TimeUnit unit5、BlockingQueue workQueue6、ThreadFactory threadFactory7、Reject...原创 2019-03-24 18:48:24 · 802 阅读 · 2 评论 -
Java并发系列之初级篇:多线程基础——Java 1.5之前的并发
目录一、线程的基本概念1、线程的定义2、线程的优先级3、守护线程二、线程的创建方式1、继承Thread类2、实现Runnable接口三、线程的主要方法1、线程状态的转换2、线程自身信息的获取和设置四、线程状态的转换1、线程的状态2、线程进入Blocked状态:3、线程进入Runnable状态:4、结束线程的4种方式五、线程同步和锁的基...原创 2019-03-10 20:34:26 · 904 阅读 · 0 评论