首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
并发
订阅
feigeai
更多收藏集
微信扫码分享
微信
新浪微博
QQ
18篇文章 · 0订阅
并发编程 —— 源码分析公平锁和非公平锁
ReentrantLock 提供了公平锁和非公平锁,只需要在构造方法中使用一个 boolean 参数即可。默认非公平锁。 今天从源码层面看看区别和具体实现。 1. 类 UML 图 ReentrantLock 内部有一个抽象类 Sync,继承了 AQS。 而公平锁的实现就是 Fa…
【死磕Java并发】—–J.U.C之重入锁:ReentrantLock
【死磕Java并发】—–J.U.C之重入锁:ReentrantLock
深入理解多线程(五)—— Java虚拟机的锁优化技术
本文是《深入理解多线程》的第五篇文章,前面几篇文章中我们从synchronized的实现原理开始,一直介绍到了Monitor的实现原理。这一篇在前几篇的基础上,深入介绍一下JVM中的锁优化技术。
Java并发编程----ArrayBlockingQueue源码分析
刚一听到阻塞队列,就觉得它非常地高大上,非常地难!其实不然!为什么?因为当你有一点基本的数据结构基础再看阻塞队列的定义之后你就会发现就那么回事。好了,言归正传,队列?无非就是一种具有先进先出(FIFO)特性的数据结构嘛!其最基本的操作是入队和出队。 阻塞队列(BlockingQ…
Java内存模型以及happens-before规则
1. JMM的介绍 在上一篇文章中总结了线程的状态转换和一些基本操作,对多线程已经有一点基本的认识了,如果多线程编程只有这么简单,那我们就不必费劲周折的去学习它了。在多线程中稍微不注意就会出现线程安全问题,那么什么是线程安全问题?我的认识是,在多线程下代码执行的结果与预期正确的…
线程的状态转换以及基本操作
在上一篇文章中并发编程的优缺点谈到了为什么花功夫去学习并发编程的技术,也就是说我们必须了解到并发编程的优缺点,我们在什么情况下可以去考虑开启多个线程去实现我们的业务,当然使用多线程我们应该着重注意一些什么,在上一篇文章中会有一些讨论。那么,说了这么多,无论是针对面试还是实际工作…
AQS简简单单过一遍
本来我是打算在这章节中写Lock的子类实现的,但看到了AQS的这么一个概念,可以说Lock的子类实现都是基于AQS的。 AQS我在面试题中也见过他的身影,但一直不知道是什么东西。所以本篇我就来讲讲AQS这个玩意吧,至少知道它的概念是什么,对吧~ 不要被人家唬到了,以为juc是什…
Java 并发编程 ----- AQS(抽象队列同步器)
AQS即AbstractQueuedSynchronizer的缩写,是并发编程中实现同步器的一个框架。框架,框架,重要的事情说三遍,框架就是说它帮你处理了很大一部分的逻辑,其它功能需要你来扩展。想想你使用Spring框架的场景,Spring帮助开发者实现IOC容器的bean依赖…
乐观的并发策略——基于CAS的自旋
悲观者与乐观者的做事方式完全不一样,悲观者的人生观是一件事情我必须要百分之百完全控制才会去做,否则就认为这件事情一定会出问题;而乐观者的人生观则相反,凡事不管最终结果如何,他都会先尝试去做,大不了最后不成功。这就是悲观锁与乐观锁的区别,悲观锁会把整个对象加锁占为自有后才去做操作…
让人头大的各种锁,从这里让你思绪清晰
个人博客个人博客这次我们来看锁说到了锁我们经常会联想到生活中的锁,在我们日常中我们经常会接触到锁。比如我们的手机锁,电脑锁,再比如我们生活中的门锁,这些都是锁。锁有什么作用呢?说了这么多还是不清楚锁到