JUC
文章平均质量分 96
Java中处理多并发的包
有什么奇怪!
大学在读,入坑计算机
展开
-
对象内存布局和synchronized锁升级
偏向锁适用于单线程适用的情况,在不存在锁竞争的时候进入同步方法/代码块则使用偏向锁。轻量级锁适用于竞争较不激烈的情况(这和乐观锁的使用范围类似),存在竞争时升级为轻量级锁,轻量级锁采用的是自旋锁,如果同步方法/代码块执行时间很短的话,采用轻量级锁虽然会占用cpu资源但是相对比使用重量级锁还是更高效。重量级锁适用于竞争激烈的情况,如果同步方法/代码块执行时间很长,那么使用轻量级锁自旋带来的性能消耗就比使用重量级锁更严重,这时候就需要升级为重量级锁。...原创 2022-07-16 22:37:15 · 141 阅读 · 0 评论 -
ThreadLocal原理
一个ThreadLocal对象只属于一个Thread,创建的变量也就是在本线程内,所以这个添加的变量只有自己才可以访问到。原创 2022-06-26 18:36:33 · 363 阅读 · 0 评论 -
JUC——day03 &&JUC辅助类&&读写锁&&阻塞队列&&线程池&&Fork/Join
文章目录1. JUC辅助类1.1 CountDownLatch1.2 CyclicBarrier1.3 Semaphore2. 读写锁2.1 ReentrantReadWriteLock分析2.2 模拟多线程在map中取数据和读数据(使用读写锁)3. 阻塞队列3.1 BlockingQueue的核心方法3.2 常见BlockingQueue3.2.1 ArrayBlockingQueue(常用)3.2.2 LinkedBlockingQueue(常用)3.2.3 DelayQueue3.2.4 Priori原创 2022-03-02 18:06:16 · 163 阅读 · 0 评论 -
JUC——day02 &&集合的线程安全&& 多线程锁 &&callable接口
文章目录1.集合的线程安全问题1.1 List1.1.1 模拟多线程环境1.1.2 原因1.1.3 解决方法1.1.4 写时复制思想1.2 Set1.2.1 解决办法1.2.2 CopyOnWriteArraySet1.3 Map1.3.1 解决方法1.3.2 HashMap,Hashtable和ConcurrentHashMap的区别2.多线程锁2.1 锁对象执行顺序的探究2.2 公平锁和非公平锁2.2.1 定义2.2.2 公平锁2.2.3 非公平锁2.3 可重入锁2.4 死锁3.Callable接口3.原创 2022-03-01 21:08:21 · 387 阅读 · 0 评论 -
初识JUC——day01&&lock接口&&线程间通信
文章目录1. JUC简介1.1 进程与线程1.2 线程的状态1.3 wait/sleep的区别1.4并发与并行2. Lock接口2.1 Synchronized2.2 Lock接口2.3 Lock方法2.4 ReentrantLock2.5 ReadWriteLock2.6 比较synchronized和lock3.线程间通信3.1 使用synchronized3.2 使用lock4.线程间定制化通信参考资料1. JUC简介JUC是java.unti.concurrent包的简称,在Java中是处理线程原创 2022-02-18 17:31:12 · 214 阅读 · 0 评论