码迷,mamicode.com
首页 >  
搜索关键字:aqs    ( 494个结果
CountDownLatch源码解析
```java public class CountDownLatch { /** * Synchronization control For CountDownLatch. * Uses AQS state to represent count. */ private static final c... ...
分类:其他好文   时间:2020-05-04 13:46:40    阅读次数:74
Java学习总结:Atomic、CAS、AQS、ReentrantLock和CountDownLock
JUC包 AtomicInteger底层实现原理是什么?-->一个Unsafe操作获取内存地址,一个Volatile保证value的可见性,CAS进行重试。 原子更新方法:getAndIncrement-->Unsafe会利用value字段的内存地址偏移,直接完成操作 ? Atomic 包提供了最常 ...
分类:编程语言   时间:2020-05-01 22:22:44    阅读次数:102
并发编程面试(三) 线程池
Java 中 的 线 程 池 是 如 何 实 现 的 ? 在 Java 中 , 所 谓 的 线 程 池 中 的 “ 线 程 ” , 其 实 是 被 抽 象 为 了 一 个 静 态 内 部 类 Worker, 它 基 于 AQS 实 现 , 存 放 在 线 程 池 的 Hash Set workers ...
分类:编程语言   时间:2020-04-28 00:23:39    阅读次数:61
Java读源码之CountDownLatch
前言 相信大家都挺熟悉 CountDownLatch 的,顾名思义就是一个栅栏,其主要作用是多线程环境下,让多个线程在栅栏门口等待,所有线程到齐后,栅栏打开程序继续执行。 案例 用一个最简单的案例引出我们的主角 源码分析 看源码前最好先熟悉下 AQS 的大致结构,之前有两篇文章仅供参考,大致熟悉下即 ...
分类:编程语言   时间:2020-04-22 20:04:30    阅读次数:77
Semaphore源码解析
应用场景 举个栗子,30个人上一个公共厕所,但是只有3个坑位 semaphore.acquire sync acquireSharedInterruptibly ①AQS setHeadAndPropagate sync .releaseShared ① AQS tryReleaseShared,具 ...
分类:其他好文   时间:2020-04-18 12:12:17    阅读次数:68
Java读源码之ReentrantLock
前言 ReentrantLock 可重入锁,应该是除了 synchronized 关键字外用的最多的线程同步手段了,虽然JVM维护者疯狂优化 synchronized 使其已经拥有了很好的性能。但 ReentrantLock 仍有其存在价值,例如可以感知线程中断,公平锁模式,可以指定超时时间的抢锁等 ...
分类:编程语言   时间:2020-04-07 19:58:23    阅读次数:61
怎样开发 T+0 实时报表
数据分库后报表只能做 T+1 或 T+n 查询,业务需要的 T+0 实时查询往往无法满足。原因是分库(异构库)后的 SQL 没法写,通过硬编码实现的复杂度又太高。本文将介绍一种简单的方式:使用润乾报表快速实现冷热数据分离后的全量 T+0 实时查询。 ...
分类:其他好文   时间:2020-04-06 09:28:47    阅读次数:99
AQS总结
一、全称 AbstractQueueSynchronier 二、并发包的使用 ReentrantLock:new ReentrantLock()/lock()/unlock() ReentranReadWriteLock 可重入锁:对同一个对象可以多次加锁 三、底层 1.抽象同步队列三个核心组件:加 ...
分类:其他好文   时间:2020-04-02 12:02:12    阅读次数:78
Java并发包下锁学习第二篇Java并发基础框架-队列同步器介绍
Java并发包下锁学习第二篇队列同步器 还记得在第一篇文章中,讲到的locks包下的类结果图吗?如下图: ? 从图中,我们可以看到AbstractQueuedSynchronizer这个类很重要(在本文中,凯哥就用AQS来代替这个类)。我们先来了解这个类。对这个类了解之后,学习后面的会更容易了。 本 ...
分类:编程语言   时间:2020-03-31 12:26:52    阅读次数:70
AQS机制
一,Lock接口 锁是用来控制多个线程访问共享资源的方式,一般来说,一个锁能够防止多个线程同时访问共享资源(但是有些锁可以允许多个线程并发的访问共享资源,比如读写锁)。在Lock接口出现之前,Java程序是靠synchronized关键字实现锁功能的,而Java SE 5之后,并发包中新增了Lock ...
分类:其他好文   时间:2020-03-30 12:41:32    阅读次数:83
494条   上一页 1 ... 7 8 9 10 11 ... 50 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!