写点什么

JUC

0 人感兴趣 · 10 次引用

  • 最新
  • 推荐

大厂面试题:你知道 JUC 中的 Semaphore、CyclicBarrier、CountDownLatch 吗

用户头像
Java鱼仔6 小时前

资源的分配方式有两种,一种是独占,比如之前讲的ReentrantLock,另外一种是共享

面试被问 AQS、ReentrantLock 答不出来?这些知识点让我和面试官聊了半小时!

用户头像
Java鱼仔1 月 12 日

面试被问AQS、ReentrantLock答不出来?这些知识点让我和面试官聊了半小时!

https://static001.geekbang.org/infoq/ad/ad3643259a3ae328e4b767ad075c1994.jpeg?x-oss-process=image/resize,w_416,h_234

Java 中 CAS 原理分析 (volatile 和 synchronized 浅析)

用户头像
叫练2020 年 12 月 14 日

CAS英文解释是比较和交换,是cpu底层的源语,是解决共享变量原子性实现方案,它定义了三个变量,内存地址值对应V,期待值E和要修改的值U,如下图所示,这些变量都是在高速缓存中的,如果两个线程A,B分别通过cas方式同时修改共享变量,假设当A线程先获取时间

https://static001.geekbang.org/infoq/12/12bac6643fe1771e4a5290d43852ab5d.jpeg?x-oss-process=image/resize,w_416,h_234

万字图文 | 聊一聊 ReentrantLock 和 AQS 那点事(看完不会你找我)

用户头像
malt2020 年 11 月 20 日

文章以 ReentrantLock 作为切入点,讲述了其公平锁和非公平锁的概念,以及对应 AQS 中 CLH、AOS 等不容易被发现的概念

https://static001.geekbang.org/infoq/71/71577b876dc0a7bd224ff185dab67396.png?x-oss-process=image/resize,w_416,h_234

写时复制集合 —— CopyOnWriteArrayList

用户头像
程序员小航2020 年 10 月 31 日

JUC 下面还有一个系列的类,都是 CopyOnWriteXXX ,意思是写时复制,这个究竟是怎么回事?那就以 CopyOnWriteArrayList 为切入点,一起了解写时复制是怎么回事?

https://static001.geekbang.org/infoq/5c/5c6487d1b379f73ba49ca2f7edf9d760.jpeg?x-oss-process=image/resize,w_416,h_234

非阻塞的无界线程安全队列 —— ConcurrentLinkedQueue

用户头像
程序员小航2020 年 10 月 26 日

JUC 下面的相关源码继续往下阅读,这就看到了非阻塞的无界线程安全队列 —— ConcurrentLinkedQueue,来一起看看吧。

https://static001.geekbang.org/infoq/72/725b933e3b4498d57b5da49879c40b5b.jpeg?x-oss-process=image/resize,w_416,h_234

AQS 都看完了,Condition 原理可不能少!

用户头像
程序员小航2020 年 10 月 1 日

在介绍 AQS 时,其中有一个内部类叫做 ConditionObject,当时并没有进行介绍,并且在后续阅读源码时,会发现很多地方用到了 Condition ,这时就会很诧异,这个 Condition 到底有什么作用?。

https://static001.geekbang.org/infoq/b3/b340a7c223b2f35cb09b883a15fbf970.jpeg?x-oss-process=image/resize,w_416,h_234

基于数组的有界阻塞队列 —— ArrayBlockingQueue

用户头像
程序员小航2020 年 9 月 28 日

在阅读完和 AQS 相关的锁以及同步辅助器之后,来一起阅读 JUC 下的和队列相关的源码。先从第一个开始:ArrayBlockingQueue。

https://static001.geekbang.org/infoq/a1/a11f1d3ed1b9f4731462a475ea1cde84.jpeg?x-oss-process=image/resize,w_416,h_234

使用递增计数器的线程同步工具 —— 信号量,它的原理是什么样子的?

用户头像
程序员小航2020 年 9 月 21 日

在 JUC 中线程同步器除了 CountDownLatch 和 CycleBarrier ,还有一个叫做 Semaphore (信号量),同样是基于 AQS 实现的。下面来看看信号量的内部原理。

https://static001.geekbang.org/infoq/5f/5f46c8d3e9aa5a25efed825dee1aa556.jpeg?x-oss-process=image/resize,w_416,h_234

快来看看!AQS 和 CountDownLatch 有怎么样的关系?

用户头像
程序员小航2020 年 9 月 7 日

CountDownLatch 一个同步辅助工具,同样是基于 AQS 实现,本篇文件主要是介绍 CountDownLatch 的使用,以及源码。

JUC_JUC资料文章-InfoQ写作平台