07 2019 档案

摘要:前言 CompletionStage是Java8新增得一个接口,用于异步执行中的阶段处理,其大量用在Lambda表达式计算过程中,目前只有CompletableFuture一个实现类,但我先从这个接口的方法开始介绍,为了举例说明这些接口方法的使用,会用到部分CompletableFuture的方法, 阅读全文
posted @ 2019-07-30 16:49 莫待樱开春来踏雪觅芳踪 阅读(13359) 评论(1) 推荐(3)
摘要:前言 前面介绍了Java并发包提供的三种线程池,它们用处各不相同,接下来介绍一些工具类,对这三种线程池的使用。 Executors Executors是JDK1.5就开始存在是一个线程池工具类,它定义了用于Executor、ExecutorService、ScheduledExecutorServi 阅读全文
posted @ 2019-07-28 23:02 莫待樱开春来踏雪觅芳踪 阅读(1567) 评论(0) 推荐(0)
摘要:前言 前面介绍了ForkJoinPool相关的两个类ForkJoinTask、ForkJoinWorkerThread,现在开始了解ForkJoinPool。ForkJoinPool也是实现了ExecutorService的线程池。但ForkJoinPool不同于其他类型的ExecutorServi 阅读全文
posted @ 2019-07-28 15:51 莫待樱开春来踏雪觅芳踪 阅读(3482) 评论(0) 推荐(1)
摘要:前言 这是Java并发包提供的最后一个线程池实现,也是最复杂的一个线程池。针对这一部分的代码太复杂,由于目前理解有限,只做简单介绍。通常大家说的Fork/Join框架其实就是指由ForkJoinPool作为线程池、ForkJoinTask(通常实现其三个抽象子类)为任务、ForkJoinWorker 阅读全文
posted @ 2019-07-28 11:35 莫待樱开春来踏雪觅芳踪 阅读(10343) 评论(1) 推荐(1)
摘要:前言 它是一种可以安排在给定的延迟之后执行一次或周期性执行任务的ThreadPoolExecutor。因为它继承了ThreadPoolExecutor, 当然也具有处理普通Runnable、Callable 任务的能力,当需要多个工作线程辅助时,或者当需要 ThreadPoolExecutor 具有 阅读全文
posted @ 2019-07-23 19:42 莫待樱开春来踏雪觅芳踪 阅读(1212) 评论(1) 推荐(0)
摘要:参数详解 ExecutorService的最通用的线程池实现,ThreadPoolExecutor是一个支持通过配置一些参数达到满足不同使用场景的线程池实现,通常通过Executors的工厂方法进行配置,比如Executors.newFixedThreadPool,Executors.newSing 阅读全文
posted @ 2019-07-21 21:29 莫待樱开春来踏雪觅芳踪 阅读(707) 评论(0) 推荐(0)
摘要:前言 线程池的作用就是将线程的管理、创建、销毁等操作与线程需要执行的任务隔离开来,从而避免线程频繁的创建与销毁,以及大量的线程的上下文切换造成的资源损耗。关于Java并发包中的线程池部分,我把它们分为两部分,即线程池和Fork/Join框架。 线程池 通常线程池的时候大家都是从工具类Executor 阅读全文
posted @ 2019-07-16 20:01 莫待樱开春来踏雪觅芳踪 阅读(517) 评论(0) 推荐(0)
摘要:前言 这是Java并发包最后一个集合框架的数据结构,其复杂程度也较以往任何数据结构复杂的多,顾名思义ConcurrentHashMap是线程安全版本的HashMap,总所周知HashMap是非线程安全的,若直接用于多线程并发环境将会出现很多问题,比如数据丢失,甚至某些操作陷入死循环导致CPU利用率1 阅读全文
posted @ 2019-07-12 20:43 莫待樱开春来踏雪觅芳踪 阅读(1219) 评论(1) 推荐(0)
摘要:引言 上一篇Java同步数据结构之Map概述及ConcurrentSkipListMap原理已经将ConcurrentSkipListMap的原理大致搞清楚了,它是一种有序的能够实现高效插入,删除,更新,搜索的基于链表结构的无锁线程安全Map,它是SkipList(跳表)的一种变体实现(其节点同时存 阅读全文
posted @ 2019-07-06 15:32 莫待樱开春来踏雪觅芳踪 阅读(648) 评论(0) 推荐(0)
摘要:引言 前面介绍了CopyOnWriteArraySet,本来接着是打算介绍ConcurrentSkipListSet,无耐ConcurrentSkipListSet的内部实现其实是依赖一个ConcurrentSkipListMap实例实现的,所以必须先理解ConcurrentSkipListMap, 阅读全文
posted @ 2019-07-06 09:31 莫待樱开春来踏雪觅芳踪 阅读(1279) 评论(0) 推荐(0)
摘要:前言 前面介绍完了队列(包括双端队列),今天探讨以下Java并发包中一个List的并发数据结构实现CopyOnWriteArrayList,顾名思义CopyOnWriteArrayList也是一种基于数组的类似ArrayList的集合,CopyOnWriteArrayList比起ArrayList最 阅读全文
posted @ 2019-07-01 21:42 莫待樱开春来踏雪觅芳踪 阅读(997) 评论(0) 推荐(0)