xzzz2020
xzzz2020
全部文章
分类
操作系统(11)
数据库(12)
未归档(5)
深入理解JVM(20)
算法与数据结构(14)
网络原理(11)
面试题总结(36)
归档
标签
去牛客网
登录
/
注册
Xu大大
全部文章
(共394篇)
【详解】Java高并发之UnSafe类
目录 简介 获取Unsafe 主要功能 CAS相关 偏移量相关 类加载 普通读写 类加载 内存屏障 线程调度 简介 Unsafe类是在sun.misc包下,不属于Java标准。但是很多Java的基础类库,包括一些被广泛...
2020-08-14
1
534
【详解】JUC之CountDownLatch
目录 一、引入 二、分析 三、使用场景一 四、使用场景二 五、API使用 六、给离散的平行任务增加逻辑层次关系 一、引入 countDownLatch这个类使一个线程等待其他线程各自执行完毕后再执行。 是通过一个计数器来实现的,计数器的初始值是线程的...
2020-08-14
0
477
【详解】JUC之CyclicBarrier
引出 栅栏类似于闭锁,它能阻塞一组线程直到某个事件的发生。栅栏与闭锁的关键区别在于,所有的线程必须同时到达栅栏位置,才能继续执行。闭锁用于等待事件,而栅栏用于等待其他线程。 CyclicBarrier可以使一定数量的线程反复地在栅栏位置处汇集。当线程到达栅栏位置时将调用await方法,这个方法将...
2020-08-14
0
504
【详解】JUC之Exchanger
简介 用于两个工作线程之间交换数据的封装工具类 简单说就是一个线程在完成一定的事务后想与另一个线程交换数据,则第一个先拿出数据的线程会一直等待第二个线程,直到第二个线程拿着数据到来时才能彼此交换对应数据 Exchanger<V> 泛型类型,其中 V 表示可交换的数据类型...
2020-08-14
0
481
【详解】JUC之Semaphore
简介 Semaphore是一种在多线程环境下使用的设施,该设施负责协调各个线程,以保证它们能够正确、合理的使用公共资源的设施,也是操作系统中用于控制进程同步互斥的量。 Semaphore是一种计数信号量,用于管理一组资源,内部是基于AQS的共享模式。它相当于给线程规定一个量从而控制允许活动的线程...
2020-08-14
0
478
【详解】JUC之ReentrantLock
目录 简介 公平锁和非公平锁 ReentrantLock 构造方法 获得锁 释放锁 锁的调试 【重点】Lock和synchronized的区别 简介 当多个线程需要访问某个公共资源的时候,我们知道需要通过加锁来保证资源的访问不会出问...
2020-08-14
1
459
【详解】JUC之读写锁
引出 读写锁的设计主要参考读写锁的设计模式:https://blog.csdn.net/qq_43040688/article/details/105857920 使用 public class ReadWriteLockTest { private static final Ree...
2020-08-14
0
410
【详解】JUC之Condition
目录 引出 初步使用 问题解答 第一个问题 第二个问题 第三个问题 wait和await的区别 等待队列 总结 利用Condition实现生产者和消费者 与 ReentrantLock的关系 总结 引出 ...
2020-08-14
1
585
【详解】JUC之StampedLock
引出 如果我们深入分析ReadWriteLock,会发现它有个潜在的问题:如果有线程正在读,写线程需要等待读线程释放锁后才能获取写锁,即读的过程中不允许写,这是一种悲观的读锁。 要进一步提升并发执行效率,Java 8引入了新的读写锁:StampedLock。 出现的问题:如果有999个需要读锁...
2020-08-14
0
823
【详解】Java高并发三种锁的比较
引入 在Java高并发场景下,主要使用是三种锁synchronized、StampedLock、Lock 比较 synchronized StampedLock Lock 是JVM的的内置锁,每个JDK版本都会优化 ...
2020-08-14
0
499
首页
上一页
16
17
18
19
20
21
22
23
24
25
下一页
末页