摘要:
CyclicBarrier 循环栅栏 CyclicBarrier 字面意思回环栅栏(循环屏障),通过它可以实现让一组线程等待至某个状态(屏障点)之后再全部同时执行。叫做回环是因为当所有等待线程都被释放以后,CyclicBarrier可以被重用。 CyclicBarrier的使用 构造方法 // pa 阅读全文
posted @ 2024-07-26 21:07
Duancf
阅读(161)
评论(0)
推荐(0)
摘要:
CountDownLatch CountDownLatch一般用作多线程倒计时计数器,强制它们等待其他一组(CountDownLatch的初始化决定)任务执行完成。 有一点要说明的是CountDownLatch初始化后计数器值递减到0的时候,不能再复原的,这一点区别于Semaphore,Semaph 阅读全文
posted @ 2024-07-26 21:01
Duancf
阅读(32)
评论(0)
推荐(0)
摘要:
finally中的代码一定会执行吗? 通常在面试中,只要是疑问句一般答案都是"否定"的,因为如果是"确定"和"正常"的,那面试官就没有必要再问了。 典型回答 正常运行的情况下,finally 中的代码是一定会执行的,但是,如果遇到以下异常情况,那么 finally 中的代码就不会继续执行了: 程序在 阅读全文
posted @ 2024-07-26 20:42
Duancf
阅读(39)
评论(0)
推荐(0)
摘要:
rocketMQ 阅读全文
posted @ 2024-07-26 20:39
Duancf
阅读(10)
评论(0)
推荐(0)
摘要:
final 简介 final关键字可用于多个场景,且在不同场景具有不同的作用。首先,final是一个非访问修饰符,仅适用于变量,方法或类。下面是使用final的不同场景: 当final修饰变量时,被修饰的变量必须被初始化(赋值),且后续不能修改其值,实质上是常量; 当final修饰方法时,被修饰的方 阅读全文
posted @ 2024-07-26 20:27
Duancf
阅读(59)
评论(0)
推荐(0)
摘要:
多线程的价值 (这里展示的是网上的答案,我觉得真正重要的是减少进程切换的代价) 发挥多核CPU的优势 多线程,可以真正发挥出多核CPU的优势来,达到充分利用CPU的目的,采用多线程的方式去同时完成几件事而不互相干扰。 防止阻塞 从程序运行效率的角度来看,单核CPU不但不会发挥出多线程的优势,反而会因 阅读全文
posted @ 2024-07-26 20:02
Duancf
阅读(11)
评论(0)
推荐(0)
摘要:
Java中的大部分同步类(Lock、Semaphore、ReentrantLock等)都是基于AbstractQueuedSynchronizer(简称为AQS)实现的。AQS是一种提供了原子式管理同步状态、阻塞和唤醒线程功能以及队列模型的简单框架。本文会从应用层逐渐深入到原理层,并通过Reentr 阅读全文
posted @ 2024-07-26 17:18
Duancf
阅读(98)
评论(0)
推荐(0)
摘要:
原子性、可见性与有序性 Java内存模型是围绕着在并发过程中如何处理原子性、可见性和有序性这三个特征来建立的,我们逐个来看一下哪些操作实现了这三个特性。 原子性(Atomicity) 由Java内存模型来直接保证的原子性变量操作包括read、load、assign、use、store和write这六 阅读全文
posted @ 2024-07-26 12:32
Duancf
阅读(117)
评论(0)
推荐(0)

浙公网安备 33010602011771号