java JUC并发相关内容
文章平均质量分 60
NotRepent
这个人很懒……
展开
-
为什么需要阻塞队列 BlockingQueue?
1.好处我们不需要关心什么时候需要阻塞线程,什么时间需要唤醒线程,因为一切BlockingQueue一手操办了 在JUC包以前多线程环境下,我们每个程序员,必须自己去控制这些细节,尤其兼顾效率和线程安全,而这会给我们程序带来不小复杂度.....package com.queue;import ch.qos.logback.core.util.TimeUtil;import java.util.concurrent.ArrayBlockingQueue;import java.uti原创 2022-05-30 00:56:11 · 127 阅读 · 0 评论 -
Synchronized与Lock有什么区别?
1.原始构成Synchronized是关键字属于JVM层面monitorenter(底层通过monitor对象来完成,其实wait/notify等方法也依赖于monitor对象只有在同步块或方法中才能调用wait/notify 等方法 monitorexitLock是JUC下API层面下的锁package com.concurrent;import java.util.concurrent.locks.ReentrantLock;/** * synchronized 与 Re原创 2022-05-29 19:14:34 · 67 阅读 · 0 评论 -
java阻塞队列BlockingQueue
1.什么是阻塞队列?2.为什么用,有什么好处?3.BlockingQueue的核心方法原创 2022-05-29 16:46:07 · 176 阅读 · 0 评论 -
Semaphore使用以及原理
1. Semaphore的使用1) Semaphore,俗称信号量 基于AbstractQueuedSynchronizer实现!AQS2) Semaphore管理着一组许可permit,许可的初始数量通过构造函数设定。3) 默认使用非公平的方式 sync = new NonfairSync(permits); 使用Semaphore可以控制同时访问资源的线程个数,例如,实现一个文件允许的并发访问数4) 当线程要访问共享资源时,需要先通过acquire()方法获取许可。获取到之后许可原创 2022-05-08 18:49:45 · 2019 阅读 · 0 评论 -
CyclicBarrier 使用介绍
1.CyclicBarrier介绍与 CountDownLatch相反的CyclicBarrier是做加法,例如集齐7颗龙珠才可以召唤神龙,少一个龙珠都会失败2.上代码案例演示package com.concurrent;import java.util.concurrent.CyclicBarrier;/** * */public class CyclicBarrierDemo { public static void main(String[] args).原创 2022-05-08 17:11:05 · 90 阅读 · 0 评论 -
CountDownLatch简单使用
1.描述CountDownLatch的出现解决不是偶然,也为了解决之前线程之间出现的一些问题例如下面的代码案例:public class CutDownLatchDemo { public static void main(String[] args) throws Exception { closeDoor(); } public static void closeDoor() throws InterruptedException {原创 2022-05-08 16:45:16 · 342 阅读 · 0 评论