![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java JUC 并发编程
文章平均质量分 60
海洋的渔夫
这个作者很懒,什么都没留下…
展开
-
9.线程按序交替
9.线程按序交替线程按序交替-编写一个程序,开启 3 个线程,这三个线程的 ID 分别为 A、B、C,每个线程将自己的 ID 在屏幕上打印 10遍,要求输出的结果必须按顺序显示。如:...原创 2022-03-01 00:00:00 · 111 阅读 · 0 评论 -
11.线程八锁
11.线程八锁线程八锁•一个对象里面如果有多个synchronized方法,某一个时刻内,只要一个线程去调用其中的一个synchronized方法了,其它的线程都只能等待,换句话说,某一...原创 2022-03-01 00:00:00 · 379 阅读 · 0 评论 -
14.ForkJoinPool 分支-合并框架 工作窃取
14.ForkJoinPool 分支-合并框架 工作窃取Fork/Join 框架Fork/Join 框架:就是在必要的情况下,将一个大任务,进行拆分(fork)成若干个小任务(拆到不可再拆...原创 2022-03-01 00:00:00 · 119 阅读 · 0 评论 -
8.Condition 控制线程通信
8.Condition 控制线程通信前言前一篇我们讲述了 同步锁 Lock,那么下面肯定就要讲解一下 同步锁 Lock 如何控制线程之间的通讯。不过,在讲解 同步锁 Lock 通讯之间,我...原创 2022-02-28 22:42:19 · 233 阅读 · 0 评论 -
4.ConcurrentHashMap 锁分段机制
4.ConcurrentHashMap 锁分段机制ConcurrentHashMap-Java 5.0在 java.util.concurrent 包中提供了多种并发容器类来改进同步容...原创 2022-02-28 22:42:19 · 552 阅读 · 0 评论 -
6.实现 Callable 接口
6.实现 Callable 接口前言本篇章来介绍一下创建线程的第三种方式,其中创建线程一共有四种方式:继承 Thread 类实现 Runnable 接口实现 Callable 接口使用线程...原创 2022-02-28 22:42:19 · 1344 阅读 · 0 评论 -
3.原子变量 CAS算法
3.原子变量 CAS算法前言在上一篇中我们讲述了关于多线程并发,导致共享属性在内存不可见的问题。以及使用 volatile 关键字设置共享属性,使其在多线程并发中内存可见。但是我们只讲述了...原创 2022-02-28 22:42:19 · 186 阅读 · 0 评论 -
10.ReadWriteLock 读写锁
10.ReadWriteLock 读写锁读-写锁 ReadWriteLock-ReadWriteLock 维护了一对相关的锁,一个用于只读操作,另一个用于写入操作。只要没有 writer...原创 2022-03-01 00:00:00 · 293 阅读 · 0 评论 -
13.线程调度
13.线程调度前言上一章节我们讲了线程池,那么下面来讲线程池的延时调度执行。ScheduledExecutorService一个ExecutorService,可安排在给定的延迟后运行或...原创 2022-03-01 00:00:00 · 91 阅读 · 0 评论 -
12.线程池
12.线程池线程池背景:经常创建和销毁、使用量特别大的资源,比如并发情况下的线程,对性能影响很大。思路:提前创建好多个线程,放入线程池中,使用时直接获取,使用完放回池中。可以避免频繁创建销...原创 2022-03-01 00:00:00 · 162 阅读 · 0 评论 -
2.volatile 关键字-内存可见性
2.volatile 关键字-内存可见性前言在多线程并发中,常常存在多个线程同时操作一个共享属性的情况。而这种情况通常会带来一个 内存可见性 的问题。那么本篇章来介绍一下这个问题,并且讲述...原创 2022-02-28 22:42:19 · 184 阅读 · 0 评论 -
7.Lock 同步锁
7.Lock 同步锁Lock( 锁 )从 JDK 5.0开始,Java提供了更强大的线程同步机制——通过显式定义同步锁对象来实现同步。同步锁使用Lock对象充当。java.util.con...原创 2022-02-28 22:42:19 · 285 阅读 · 0 评论 -
5.CountDownLatch 闭锁
5.CountDownLatch 闭锁需求在多线程开发中,我们总会有一些需求处理,需要在多个线程全部执行完毕后,最后执行的。例如:统计所有线程的运行时长。一般直接使用多线程是无法统计的,我...原创 2022-02-28 22:42:19 · 265 阅读 · 0 评论 -
1.Java JUC 简介
在 Java 5.0 提供了 java.util.concurrent (简称JUC )包,在此包中增加了在并发编程中很常用的实用工具类,用于定义类似于线程的自定义子系统,包括线程池、异步...原创 2022-02-28 22:42:19 · 218 阅读 · 0 评论