
java多线程
panda-star
时常进步,每次进步一步
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
LockSupport使用
LockSupport使用 文章目录LockSupport使用一、简介二、分析2.1 源码2.2 实现三、使用示例 一、简介 LockSupport是线程同步工具,定义了一组静态方法控制控制线程的阻塞和同步。 二、分析 2.1 源码 LockSupport源码不长,方法及其用法请看源码注释,源码如下: package java.util.concurrent.locks; import sun.m...原创 2020-04-06 23:41:31 · 328 阅读 · 0 评论 -
java线程状态
java线程状态 文章目录java线程状态一、简介二、分析2.1 源码2.2 分析2.2.1 NEW2.2.2 RUNNABLE2.2.3 BLOCKED2.2.4 WAITING2.2.5 TIMED_WAITING2.2.6 TERMINATED3.3 状态转移图三、备注3.1 查看线程状态 一、简介 java线程状态描述了线程的运行情况,理解其有助于线程使用和排查问题。 二、分析 java线...原创 2020-04-02 23:30:48 · 154 阅读 · 0 评论 -
线程辅助类(五)–Phaser
线程辅助类(五)–Phaser 文章目录线程辅助类(五)--Phaser一、简介二、关键点2.1 new Phaser(n)2.2 重写onAdvance方法2.3 phaser.arriveAndAwaitAdvance()2.4 phaser.arriveAndDeregister()2.5 phaser.isTerminated()三、使用示例: 一、简介 Phaser是一类线程辅助类,它可...原创 2020-03-16 00:04:51 · 161 阅读 · 0 评论 -
线程辅助类(四)–CyclicBarrier
线程辅助类(四)–CyclicBarrier 文章目录线程辅助类(四)--CyclicBarrier一、简介二、关键点三、使用示例 一、简介 CyclicBarrier是一类线程辅助类,用于在多个线程间,在某一个点相互等待,待所有线程都到齐后,每个线程再接着往下执行,在同步点,可以操作执行(由最后一个到达同步点的线程执行)。 二、关键点 new CyclicBarrier(n) ,即初始化时,...原创 2020-03-15 11:00:57 · 131 阅读 · 0 评论 -
线程辅助类(三)–Semaphore
线程辅助类(三)–Semaphore 一、简介 Semaphore,即是信号量机制,学过操作系统的同学应该会容易理解。这里是java多线程中的辅助类。它通常用在多访问者场景下,控制同时访问临界资源的访问者数量。 二、关键点 初始化时指定同时可访问的数量,如new Semaphore(3),即可同时访问数量为3; 等待获取访问临界资料的权限,即semaphore.acquire(); 访问临界资料...原创 2020-03-15 10:54:42 · 152 阅读 · 0 评论 -
线程辅助类(二)–CountDownLatch
线程辅助类(二)–CountDownLatch 文章目录线程辅助类(二)--CountDownLatch一、简介二、关键点三、使用示例 一、简介 CountDownLatch是一个线程辅助类,通常用于:多个子线程均完成某项操作后,主线程才进行自己的操作。 二、关键点 初始化,约定需多少个子线完成,如new CountDownLatch(5),即5个子线程; countDownLatch.coun...原创 2020-03-15 10:48:37 · 125 阅读 · 0 评论 -
线程辅助类(一)–Exchanger
线程辅助类(一)–Exchanger 文章目录线程辅助类(一)--Exchanger一、简介二、关键点三、使用示例 一、简介 Exchanger是java线程辅助类,用于在两个线程间,在某一同步点,进行数据交换。 二、关键点 泛型定义数据交换的类型,如Exchanger exchanger = new Exchanger<>(); exchanger.exchange(data...原创 2020-03-15 10:45:07 · 147 阅读 · 0 评论 -
java中ThreadLocal使用
java中ThreadLocal使用 文章目录java中ThreadLocal使用一、简介二、使用三、原理3.1 Thread类3.2 ThreadLocal类3.2.1 主要方法3.2.2 ThreadLocal.ThreadLocalMap内部类3.2.3 ThreadLocal.ThreadLocalMap.Entry内部类3.3 注意四、示例 一、简介 ThreadLocal是java线程...原创 2020-03-11 23:57:52 · 3069 阅读 · 0 评论 -
多线程中的volatile关键字
多线程中的volatile关键字 文章目录多线程中的volatile关键字一、简介二、特点2.1 可见性2.1.1 功能2.1.2 原理2.2 有序性2.2.1 功能2.2.2 原理2.3 原子性 一、简介 volatile是多线程中的关键字,保证共享变量的可见性,开销小,没有线程上下的切换调度,这里进行介绍。 二、特点 volatile可以保证可见性和有序性,但不能保证原子性(特别注意)。 2....原创 2020-03-10 22:50:42 · 293 阅读 · 0 评论 -
java多线程同步机制AQS解读
java多线程同步机制AQS解读 文章目录java多线程同步机制AQS解读一、简介二、AQS核心知识点2.1 AQS同步器类定义2.2 核心实现2.2.1 FIFO同步队列2.2.1.1 同步队列解释2.2.1.2 同步队列源码2.2.1.3 同步队列安全保证2.2.2 同步状态2.2.2.1 同步状态源码2.2.2.2 同步状态安全保证2.2.2.3 同步状态使用2.3 同步实现2.4 使用方式...原创 2020-02-07 21:30:15 · 490 阅读 · 0 评论 -
java线程执行器框架介绍(二)--ScheduledThreadPoolExecutor
在java多线程操作中,我们有时需要延时或才周期性的执行某些执行,这时我们可以使用ScheduledThreadPoolExecutor。 一、工厂类Executors生成的ScheduledThreadPoolExecutor 1、newSingleThreadScheduledExecutor,单个线程 2、newSingleThreadScheduledExecutor,指定线程 二原创 2017-06-09 23:55:14 · 466 阅读 · 0 评论 -
java线程执行器框架介绍(一)--ThreadPoolExecutor
在java多线程开发中,当我们需要批量执行多个任务线程时,可以使用java的执行器框架。 也就是Executors工厂类生成的各种Executor实现类。我们在这里介绍ThreadPoolExecutor。 1、由Executors工厂类生成的ThreadPoolExecutor包含如下几类: a)newCachedThreadPool,不指定线程个数,通常用于执行线程不多的情况; b原创 2017-06-09 22:27:00 · 498 阅读 · 0 评论