呼延十

LV1
发表了文章

(juc系列)延迟队列delayqueue

用于延迟元素的一个无界的阻塞队列实现. 延迟元素只有在他的延迟过期之后,才可以被获取.

呼延十
发表了文章

(juc系列)阻塞队列(blockingqueue)及其实现

阻塞队列的方法,有四种形式来处理,操作没有办法被立刻满足,但是未来某些时间点可能满足的情况:

呼延十
发表了文章

(juc系列)并发集合之concurrentlinkeddeque源码

一个无界的,并发的双端队列,使用链表实现. 多线程间的并发写入,移除,访问操作,可以保证安全.当有很多线程共享一个公共集合时,ConcurrentLinkedD...

呼延十
发表了文章

(juc系列)并发集合之concurrentlinkedqueue源码

当多个线程需要共享一个集合的访问时, ConcurrentLinkedQueue是一个合适的选择. 向其他的并发集合实现一样,这个类不接受null元素.

呼延十
发表了文章

(juc系列)同步列表copyonwritearraylist及set源码解析

ArrayList的一个线程安全的变体,所有可变的操作(比如add/set等)都使用底层数组的一个拷贝.

呼延十
发表了文章

(juc系列)flow响应式流接口及submissionpublisher实现

一些接口和静态方法,为了建立流式组件, Publisher生成元素,被一个或者多个Subscriber消费,每一个Subscriber被Subscription...

呼延十
发表了文章

(juc系列)优先级阻塞队列 Priotiryblockingqueue

一个无界的阻塞队列,使用相同的排队规则PriorityQueue并且提供阻塞的操作. 因为这个队列逻辑上是误解的,尝试添加操作可能会失败,由于资环耗尽了(比如O...

呼延十
发表了文章

(juc系列)同步队列synchronousqueue

队头元素是第一个尝试添加元素的写入线程;如果没有等待的写入线程,那么没有任何元素可以用来移除,poll方法将会返回null.

呼延十
发表了文章

(juc系列)completionservice源码阅读

看到这个,其实已经基本明了了. 任务执行完成后,将任务放入到内部的阻塞队列中,那么获取时就是按照任务完成顺序了。

呼延十
发表了文章

(juc系列)scheduledthreadpoolexecutor源码阅读

简单地说,这个类继承自ThreadPoolExecutor,父类有的他都有。 除此之外.添加了对任务的延迟执行及周期性执行。

呼延十
发表了文章

(juc系列)runnable与future等异步设计

Runable接口, 应该由那些想要被线程执行的类来实现.它定义了一个无参数,无返回值的run()方法,负责运行代码段.

呼延十
发表了文章

(juc系列)threadpoolexecutor源码学习

其实早在19年,就简单的写过ThreadPoolExecutor. 但是只涉及到了其中两个参数,理解也不深刻,今天重新看一下代码。

呼延十
发表了文章

(juc系列)forkjoin框架源码学习

JUC系列提供的又一个线程池,采用分治思想,及工作窃取策略,能获得更高的并发性能.

呼延十
发表了文章

(juc系列)phaser源码学习

一个可复用的同步屏障,功能上类似于CyclicBarrier和CountDownLatch,但是支持更多灵活的用法.

呼延十
发表了文章

(juc系列)exchanger源码阅读

一个生产者和一个消费者通过Exchanger来交换缓冲区,以确保消费者可以不断拿到满的缓冲区,生产者不断拿到空的缓冲区.

呼延十
发表了文章

(juc系列)executors类的工厂方法

提供一些工厂方法和工具类方法. 给Executor,ExecutorService,ScheduledExecutorService和ThreadFacotry...

呼延十
发表了文章

(juc系列)reentrantreadwritelock源码学习

这个类是一个ReadWriteLock的实现类,实现了类似于ReentrantLock的语义.

呼延十
发表了文章

(juc系列)stampedlock源码学习

一个有三种模式,来控制读/写访问的锁. StampedLock的状态由一个版本和模式来组成.

呼延十
发表了文章

(juc系列)aqs源码学习笔记

java.util.concurrent.locks.AbstractQueuedSynchronizer.

呼延十
发表了文章

(juc系列)countdownlatch源码阅读

初始化时提供一个数字. await方法将阻塞,直到别的线程通过调用countDown,达到给定的数字.

呼延十

个人简介

个人成就

扫码关注云+社区

领取腾讯云代金券