
高并发
文章平均质量分 63
花葬-天空之城
一只大龄低级程序猿救赎之路
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Java源码学习之关键字-synchronized研究
public class SynchronizedTest implements Runnable { /** * 普通同步方法(实例方法),锁是当前实例对象 ,进入同步代码前要获得当前实例的锁 * 静态同步方法,锁是当前类的class对象 ,进入同步代码前要获得当前类对象的锁 * 同步方法块,锁是括号里面的对象,对给定对象加锁,进入同步代码库前要获得给定对象的锁。 */ //共享资源 static int i = 0; static.转载 2021-01-05 17:49:53 · 97 阅读 · 0 评论 -
Java源码学习之关键字-深入了解synchronized原理
了解完synchronized的基本含义及其使用方式后,下面我们将进一步深入理解synchronized的底层实现原理。synchronized底层语义原理Java 虚拟机中的同步(Synchronization)基于进入和退出管程(Monitor)对象实现, 无论是显式同步(有明确的 monitorenter 和 monitorexit 指令,即同步代码块)还是隐式同步都是如此。在 Java 语言中,同步用的最多的地方可能是被 synchronized 修饰的同步方法。同步方法 并不是由 mon转载 2022-01-05 11:08:12 · 263 阅读 · 0 评论 -
并发工具类笔记
ContDownLatchContDownLatch的构造函数接收一个int类型的参数作为计数器, 如果想等待N个点完成,就传入Nstatic CountDownLatch c = new CountDownLatch(2)当我们调用这个实例的countDown方法时,N会减一,当前实例的await() 方法会阻塞线程,知道N=0.countDown的N个点很灵活,可以用于n个线程的M个点, 所有的点加起来=Nawait(long time, TimeUnit unit); 等待一定时间后,不会原创 2021-01-26 19:29:48 · 77 阅读 · 0 评论 -
阻塞队列笔记
ArrayBlockingQueue用数组实现的有界阻塞队列, 先进先出原则默认非公平性(公平性是指阻塞的线程按照阻塞的先后顺序访问队列,即先阻塞的线程先访问队列)一般保证公平性会降低吞吐量。如何设置公平性队列,ArrayBlockingQueue fairQueue = new ArrauBlockingQueue(1000, true);公平性是通过可重入锁实现的public ArrayBlockingQueue(int capacity, boolean fair){ if(cap原创 2021-01-21 18:18:04 · 144 阅读 · 0 评论