首页
首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
并发编程
LBXX
创建于2022-05-28
订阅专栏
Java 并发相关,AQS,JUC
等 13 人订阅
共10篇文章
创建于2022-05-28
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
Future & CompletionService 的使用(性能优化实践)
创建线程的方式一般有如下 4 种:继承 Thread 类,实现 Runable 接口,实现 Callable 接口,利用线程池。
CountDownLatch、CyclicBarrier、Semaphore的用法和区别
CountDownLatch(闭锁)是一个同步协助类,允许一个或多个线程等待,直到其他线程完成操作集。
图解 HashMap 的实现原理
Hash Table,哈希表就是一种以键-值(key-indexed) 存储数据的结构,我们只要输入待查找的值即 key,即可查找到其对应的值。 如 Java 中的 HashMap 就是基于哈希表的
简单了解 ConcurrentHashMap 在 JDK7 和 JDK8 中的区别
在了解 HashMap 的的原理时,对于 jdk7 和 8 的实现是不同的,同样,对于支持并发的 ConcurrentHashMap 来说其实现也不相同。
一文彻底搞懂「线程池」
我们知道创建线程的常用方式就是 new Thread(),而每一次 new Thread() 都会重新创建一个线程,而线程的创建和销毁都需要耗时的,不仅会消耗系统资源,还会降低系统的稳定性。
读写锁 ReentranReadWriteLock 源码分析
在上篇我们聊到了可重入锁 ReentrantLcok,但它也是一把独占锁(也叫排他锁),也就是说在同一时刻只能允许一个线程持有,但在大多数场景下,都是读多写少,并且读并不存在数据竞争的问题,因
你真的理解公平锁和非公平锁吗?「ReentranLock源码分析」
reentrant 翻译为可重入的,因此从字面上翻译为可重入锁,我们知道可重入是指:同一个线程对于已经获得到的锁,可以多次继续申请到该锁的使用权。
Synchronized 和 Lock 该如何选择
在之前的文章 synchronized 底层实现说到`synchronized`是属于JVM层面的锁,而且它只是一个关键字,是不能查看Java源码的,因此我们可以把它当做隐式锁。
Synchronized 的使用及优化
Java中每一个对象都可以作为锁,这是synchronized实现同步的基础: 普通同步方法,锁的是当前实例对象。
Synchronized 底层实现 & 锁升级
如果某一个资源被多个线程共享,为了避免因为资源抢占导致资源数据错乱,我们需要对线程进行同步,在Java中,synchronized 就是实现线程同步的关键字。