synchronized
0 人感兴趣 · 21 次引用
- 最新
- 推荐


排队打饭:公平锁和非公平锁 (面试)
有个小伙伴最近咨询我,前段时间他被面试官问了synchronized是公平锁还是非公平锁?排队打饭:公平锁和非公平锁(面试)

volatile,synchronized 可见性,有序性,原子性代码证明(基础硬核)
volatile,synchronized可见性,有序性,原子性代码证明(基础硬核)

源码解析 Synchronized 同步方法的八种使用场景,收藏
本文将介绍7种同步方法的访问场景,我们来看看这八种情况下,多线程访问同步方法是否还是线程安全的。这些场景是多线程编程中经常遇到的,而且也是面试时高频被问到的问题,所以不管是理论还是实践,这些都是多线程场景必须要掌握的场景。

Synchronized 用法原理和锁优化升级过程 (面试)
Synchronized用法原理和锁优化升级过程(面试)

从 JMM 透析 volatile 与 synchronized 原理
在面试、并发编程、一些开源框架中总是会遇到 volatile 与 synchronized 。synchronized 如何保证并发安全?volatile 语义的内存可见性指的是什么?这其中又跟 JMM 有什么关系,在并发编程中 JMM 的作用是什么,为什么需要 JMM?与 JVM 内存结构有什么区别?

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

动态高并发时为什么推荐 ReentrantLock 而不是 Synchronized?
Synchronized 和 ReentrantLock 大家应该都不陌生了,作为java中最常用的本地锁,最初版本中 ReentrantLock 的性能是远远强于 Synchronized 的,后续java在一次次的版本迭代中 对 Synchronized 进行了大量的优化,直到 jdk1.6 之后,两种锁的性能


synchronized 到底该不该用
在多线程环境中,锁的使用是避免不了的,使用锁时候有多种锁供我们选择,比如 ReentrantLock、CountDownLatch等等,但是作为 Java 开发者来说,最早接触和使用的恐怕非 synchronized莫属了。

码农会锁,synchronized 对象头结构 (mark-word、Klass Pointer)、指针压缩、锁竞争,源码解毒、深度分析!
通过HotSpot虚拟机,对照C++源码,深度学习 synchronized 原理。了解对象头组成,mark-word、Klass Pointer、对象实际数据等是如何存放和锁之间的关系。
浅析 synchronized
同步方法支持一种简单的策略来防止线程干扰和内存一致性错误: 如果一个线程对多个线程可见,则对象变量的所有读取或写入都是通过同步方法来完成的


synchronized 实现原理及代码证明各种锁
synchronized深入分析及代码实现锁膨胀等

手写一个重入锁
通常我们说的并发安全问题,都是由多个线程同时修改公共的资源引起的。由于不同线程同时修改公共资源而导致最终执行的结果不确定。解决这个问题的简单的做法是使用java关键字synchronized来加锁。关于synchronized不是本期的重点,本期我们主要说重入锁。

没内鬼,来点干货!volatile 和 synchronized
这篇笔记是我《没内鬼》系列第二篇,其实我计划是把设计模式和多线程并发分为两个系列,统一叫《一起学系列》来系统的介绍

一篇文章快速搞懂 Atomic(原子整数 / 原子引用 / 原子数组 /LongAdder)
并发关键字除了Synchronized(如有不懂请移至传送门,[万字长文,建议收藏]关于Synchronized锁升级,你该了解这些 ),还有另一大分支Atomic。如果大家没听过没用过先看基础篇,如果听过用过,请滑至底部看进阶篇,深入源码分析。
关于 Synchronized 锁升级,你该了解这些
毫无疑问,synchronized是我们用过的第一个并发关键字,很多博文都在讲解过。不过大多数讲解还停留在对synchronized的使用层面,其底层的很多原理和优化,很多人可能并不知晓。因此本文将通过对synchronized的大量C源码分析,让大家对他的了解更加透彻点。