![](https://img-blog.csdnimg.cn/20190918135101160.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
JUC
文章平均质量分 71
JAVA并发包
码农稻草人
这个作者很懒,什么都没留下…
展开
-
java线程是如何优雅关闭
java优雅关闭线程原创 2023-06-12 11:33:36 · 150 阅读 · 0 评论 -
JUC并发工具类--AQS
JUC并发工具类--AQS原创 2023-06-18 20:16:15 · 329 阅读 · 0 评论 -
JUC并发工具类--锁(Lock类)的使用
JUC并发工具类--锁(Lock类)的使用原创 2023-06-18 23:40:47 · 403 阅读 · 0 评论 -
为什么wait和notify方法要在同步块中调用?
主要是因为Java API强制要求这样做,如果你不这么做,你的代码会抛出IllegalMonitorStateException异常。其实真实原因是:这个问题并不是说只在Java语言中会出现,而是会在所有的多线程环境下出现。原创 2023-05-30 10:32:08 · 129 阅读 · 1 评论 -
JUC并发容器--ConcurrentSkipListMap
JUC并发容器--ConcurrentSkipListMap和跳表原创 2023-06-20 23:31:12 · 471 阅读 · 0 评论 -
JUC阻塞队列BlockingQueue---ArrayBlockingQueue
JUC阻塞队列BlockingQueue---ArrayBlockingQueue原创 2023-06-24 22:08:31 · 262 阅读 · 0 评论 -
ThreadLocal详解
ThreadLocal线程局部变量。JVM利用设置ThreadLocalMap的Key为弱引用,来避免内存泄露。JVM利用调用remove、get、set方法的时候,回收弱引用。当ThreadLocal存储很多Key为null的Entry的时候,而不再去调用remove、get、set方法,那么将导致内存泄漏。使用线程池+ThreadLocal时要小心,因为这种情况下,线程是一直在不断的重复运行的,从而也就造成了value可能造成累积的情况。原创 2023-05-30 21:29:38 · 97 阅读 · 0 评论 -
JUC并发容器--CopyOnWriteArrayList
JUC并发容器--CopyOnWriteArrayList和CopyOnWriteArraySet原创 2023-06-19 22:37:33 · 166 阅读 · 0 评论 -
CompleteableFuture
计算可以由 Future ,Consumer 或者 Runnable 接口中的 apply,accept 或者 run等方法表示。计算的执行主要有以下2.1. 默认执行2.2. 使用默认的CompletionStage的异步执行提供者异步执行。这些方法名使用someActionAsync这种格式表示。2.3. 使用 Executor 提供者异步执行。这些方法同样也是someActionAsync这种格式,但是会增加一个Executor 参数。原创 2023-05-30 11:22:26 · 799 阅读 · 0 评论 -
常见并发安全问题
常见并发安全问题原创 2023-06-14 22:36:38 · 416 阅读 · 0 评论 -
JUC并发容器--ConcurrentHashMap
JUC并发容器--ConcurrentHashMap原创 2023-06-20 23:09:19 · 166 阅读 · 0 评论 -
LinkedBlockingQueue与ArrayBlockingQueue对比
LinkedBlockingQueue与ArrayBlockingQueue对比原创 2023-06-24 22:54:27 · 228 阅读 · 0 评论 -
Java线程池发生异常后,会发生什么
线程发生异常,会被移出线程池吗?原创 2023-06-12 20:46:25 · 93 阅读 · 0 评论 -
线程池ThreadPoolExecutor底层源码原理分析
线程池ThreadPoolExecutor底层源码原理分析原创 2023-06-13 21:25:37 · 361 阅读 · 0 评论 -
JUC并发工具类--CountDownLatch
JUC并发工具类--CountDownLatch原创 2023-06-18 21:07:17 · 183 阅读 · 0 评论 -
JUC阻塞队列BlockingQueue---DelayQueue
JUC阻塞队列BlockingQueue---DelayQueue原创 2023-06-24 23:37:26 · 492 阅读 · 0 评论 -
调用yield() 、sleep()、wait()、notify()等方法对锁有何影响?
yield() 、sleep()被调用后,都不会释放当前线程所持有的锁。调用wait()方法后,会释放当前线程持有的锁,而且当前被唤醒后,会重新去竞争锁,锁竞争到后才会执行wait方法后面的代码。调用notify()系列方法后,对锁无影响,线程只有在syn同步代码执行完后才会自然而然的释放锁,所以notify()系列方法一般都是syn同步代码的最后一行。原创 2023-05-30 10:27:00 · 266 阅读 · 1 评论 -
JUC并发工具类--Exchanger
JUC并发工具类--Exchanger原创 2023-06-18 21:42:56 · 142 阅读 · 0 评论 -
线程间的通信和协调、协作
在调用wait()、notify()系列方法之前,线程必须要获得该对象的对象级别锁,即只能在同步方法或同步块中调用wait()方法、notify()系列方法,进入wait()方法后,当前线程释放锁,在从wait()返回前,线程与其他线程竞争重新获得锁,执行notify()系列方法的线程退出调用了notifyAll的synchronized代码块的时候后,他们就会去竞争。调用该方法的线程进入 WAITING状态,只有等待另外线程的通知或被中断才会返回,需要注意,调用wait()方法后,会释放对象的锁。原创 2023-05-30 20:52:22 · 334 阅读 · 0 评论 -
JUC并发工具类--阻塞队列BlockingQueue
JUC并发工具类--阻塞队列BlockingQueue原创 2023-06-24 20:45:46 · 439 阅读 · 0 评论 -
深入理解并发、线程与等待通知机制
深入理解并发、线程与等待通知机制原创 2023-05-28 23:01:10 · 80 阅读 · 0 评论 -
JUC并发工具类--Semaphore(信号量)
JUC并发工具类--Semaphore(信号量)原创 2023-06-18 20:51:31 · 359 阅读 · 0 评论 -
JAVA 新启线程有几种方式
java有两者新启动线程的方式原创 2023-05-29 17:09:07 · 224 阅读 · 1 评论 -
Java线程池执行任务的具体流程
Java线程池执行任务的具体流程原创 2023-06-12 15:11:45 · 366 阅读 · 0 评论 -
Tomcat线程池和JDK线程池的区别
Tomcat线程池和JDK线程池的区别原创 2023-06-12 14:26:25 · 346 阅读 · 0 评论 -
JUC并发工具类--CyclicBarrier(回环栅栏或循环屏障)
JUC并发工具类--CyclicBarrier(回环栅栏或循环屏障)原创 2023-06-18 21:34:14 · 176 阅读 · 0 评论 -
JUC阻塞队列BlockingQueue---LinkedBlockingQueue
JUC阻塞队列BlockingQueue---LinkedBlockingQueue原创 2023-06-24 22:43:52 · 221 阅读 · 0 评论 -
迭代器的 fail-fast 与 fail-safe 机制
迭代器的 fail-fast 与 fail-safe 机制原创 2023-06-19 22:53:11 · 277 阅读 · 0 评论 -
JUC并发工具类--Phaser(阶段协同器)
JUC并发工具类--Phaser(阶段协同器)原创 2023-06-18 21:56:08 · 492 阅读 · 0 评论 -
Java线程池的队列为什么一定是阻塞队列
Java线程池的队列为什么一定是阻塞队列原创 2023-06-12 15:56:29 · 182 阅读 · 0 评论