![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
并发
文章平均质量分 85
阿璐4r
坐在马桶上写代码的阿璐4r
展开
-
Java中的原子操作类
Java从JDK 1.5开始提供了java.util.concurrent.atomic包,这个包中的原子操作类提供了一种用法简单、性能高效、线程安全地更新一个变量的方式.Atomic包里的类基本都是使用Unsafe实现的包装类1.原子更新基本类型类AtomicBoolean:原子更新布尔类型。AtomicInteger:原子更新整型AtomicLong:原子更新长整型以AtomicInteger为例:int addAndGet(int delta):以原子方式将输入的数值与实例中的值(A原创 2021-07-13 15:37:04 · 270 阅读 · 1 评论 -
Java中的并发工具
1. 等待多线程完成CountDownLatch当子线程需要等到子线程执行完成才继续执行可以使用CountDownLatch:public class CountDownLatchTest { /** * 等待其他线程执行完成主线程再继续执行 CountDownLatch * c.countDown(); * c.await(); * * @throws InterruptedException 中断异常 */ @Test原创 2021-07-12 16:01:55 · 222 阅读 · 1 评论 -
Executor框架
0.Executor框架的结构Executor框架主要由3大部分组成如下:任务:包括被执行任务需要实现的接口:Runnable接口或Callable接口。任务的执行:包括任务执行机制的核心接口Executor,以及继承自Executor的 ExecutorService接口。Executor框架有两个关键类实现了ExecutorService接口 (ThreadPoolExecutor和ScheduledThreadPoolExecutor)。异步计算的结果。包括接口Future和实现Future原创 2021-07-12 14:42:10 · 220 阅读 · 3 评论 -
Java中的线程池
0.Java中的线程池在开放中合理的运用线程池可以带来以下好处降低资源损耗:减少线程不断销毁创建带来的开销提高响应速度:任务到达时即可立即执行提高了线程的可管理1.线程池的实现原理源码:java.util.concurrent.ThreadPoolExecutor#execute如果当前核心线程数未满,则使用创建一个核心线程来执行当前任务如果核心线程数满了,则将当前任务放入到一个阻塞队列中,核心线程将会执行队列中的任务如果队列满了,则继续创建一个线程(当前的线程数大于核心线程数,小于原创 2021-06-22 19:35:47 · 106 阅读 · 0 评论