首页
AI Coding
数据标注
NEW
沸点
课程
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
并发编程
订阅
Gopher
更多收藏集
微信扫码分享
微信
新浪微博
QQ
27篇文章 · 0订阅
关于Synchronized竟然被面试者给怼趴下了
哇咔咔,接着上回的继续来聊,接下来咱们聊聊你非常熟悉(基本不用)的东西,Synchronized。 Synchronized 用过的,简单的说是用来控制线程同步的。 为了解决多线程下线程对资源的读写发生混乱,例如不同线程读写发生不一致的情况,所以需要给这些资源加上锁,保证资源读…
精美图文讲解Java AQS 共享式获取同步状态以及Semaphore的应用
差别只在这里,所以我们就来看看 setHeadAndPropagate(node, r) 到底干了什么,我之前说过 JDK 源码中的方法命名绝大多数还是非常直观的,该方法直译过来就是 【设置头并且传播/繁衍】。独占式只是设置了头,共享式除了设置头还多了一个传播,你的疑问应该已经…
[万字长文,建议收藏]关于Synchronized锁升级,你该了解这些
毫无疑问,synchronized是我们用过的第一个并发关键字,很多博文都在讲解这个技术。不过大多数讲解还停留在对synchronized的使用层面,其底层的很多原理和优化,很多人可能并不知晓。因此本文将通过对synchronized的大量C源码分析,让大家对他的了解更加透彻点…
大彻大悟synchronized原理,锁的升级
Synchronized原理是面试中的一个难点。网上的各种资料太乱了 ,概念晦涩难懂,看了不少资料、博客,花了不少时间,才整理成这篇笔记。看完对你大有帮助。 要想了解Synchronized的原理,你先必须了解下Java对象内存布局。 我这里就先介绍下Java内存布局。 Jav…
啃碎并发(七):深入分析Synchronized原理
记得开始学习Java的时候,一遇到多线程情况就使用synchronized,相对于当时的我们来说synchronized是这么的神奇而又强大,那个时候我们赋予它一个名字“同步”,也成为了我们解决多线程情况的百试不爽的良药。但是,随着学习的进行我们知道在JDK1.5之前synch…
再有人问你synchronized是什么,就把这篇文章发给他。
在再有人问你Java内存模型是什么,就把这篇文章发给他。中我们曾经介绍过,Java语言为了解决并发编程中存在的原子性、可见性和有序性问题,提供了一系列和并发处理相关的关键字,比如synchronized、volatile、final、concurren包等。 海明威在他的《午后…
王者并发课-青铜4:宝刀屠龙-如何使用synchronized之初体验
在前面的文章《双刃剑-理解多线程带来的安全问题》中,我们提到了多线程情况下存在的线程安全问题。本文将以这个问题为背景,介绍如何通过使用synchronized关键字解这一问题。
Java 8 CompletableFuture 教程
Java 8 有大量的新特性和增强如 Lambda 表达式,Streams,CompletableFuture等。在本篇文章中我将详细解释清楚CompletableFuture以及它所有方法的使用。 在Java中CompletableFuture用于异步编程,异步编程是编写非阻…
Java并发编程:synchronized和锁优化
确保线程互斥的访问代码块,同一时刻只有一个方法可以进入到临界区 保证共享变量的修改能及时可见 有效解决重排序问题 语义上来讲,synchronized主要有三种用法: 修饰普通方法,锁的是当前对象实例(this) 修饰静态方法,锁的是当前 Class 对象(静态方法是属于类,而…
《提升能力,涨薪可待》-Java并发之AQS全面详解
AQS全称AbstractQueuedSynchronizer,即抽象的队列同步器,是一种用来构建锁和同步器的框架。 AQS 解决了在实现同步器时涉及的大量细节问题,例如自定义标准同步状态、FIFO 同步队列。 基于 AQS 来构建同步器可以带来很多好处。它不仅能够极大地减…