写点什么

synchronized

0 人感兴趣 · 29 次引用

  • 最新
  • 推荐
https://static001.geekbang.org/infoq/26/269f6a77df688b513e03a4a57c7c8de7.jpeg?x-oss-process=image/resize,w_416,h_234

我看 JAVA 之 线程同步(上)

用户头像
awen6 月 21 日

我看JAVA 之 线程同步(上) Java编程语言的优点之一是它在语言级别支持多线程。这种支持主要集中在同步上:协调多个线程之间的活动和数据访问。Java用来支持同步的机制是管程 Monitor。本文描述了如何在指令集中支持监视器的,即数据的锁定和解锁。

https://static001.geekbang.org/infoq/af/affc85ab5b7411afa51494f73683983f.jpeg?x-oss-process=image/resize,w_416,h_234

☕【JVM 技术之旅】深入 JVM 原理分析 synchronized

用户头像
李浩宇/Alex5 月 26 日

在此让我们回顾一下Java对象的内存结构,为什么要回顾内存结构?因为synchronized同步锁,采用的底层所机制的monitor就和内存对象有关系,所以我们先回顾一下Java内存结构。

再谈 synchronized 锁升级

用户头像
码农参上5 月 17 日

在图文详解Java对象内存布局这篇文章中,在研究对象头时我们了解了synchronized锁升级的过程,由于篇幅有限,对锁升级的过程介绍的比较简略,本文在上一篇的基础上,来详细研究一下锁升级的过程以及各个状态下锁的原理。

40 个问题让你快速掌握 Java 多线程的精髓

​​摘要:多线程可以理解为在同一个程序中能够同时运行多个不同的线程来执行不同的任务,这些线程可以同时利用CPU的多个核心运行。

https://static001.geekbang.org/infoq/89/89b7535ad44606e06ba328050d9a38c3.jpeg?x-oss-process=image/resize,w_416,h_234

Java- 技术专题 -Synchronized 锁的分析

用户头像
李浩宇/Alex4 月 1 日

synchronized 是 Java 中的关键字,是利用Mutx互斥锁的机制来实现同步的,底层采用Futex锁进行控制,实现原理为fast mutex互斥锁,因为他可以动态模糊用户空间以及内核空间的转换,所以非常方便,命名为fast快速。

https://static001.geekbang.org/infoq/a5/a5c7a84bd8145a017e2872acbbe99f64.jpeg?x-oss-process=image/resize,w_416,h_234

Java 并发系列(二):DCL — Double Check Lock

用户头像
TroyLiu3 月 29 日

Double Check Lock 是多线程环境下为提高延迟初始化效率而被广泛使用的一种方式。我们常常会使用延迟初始化,以降低服务启动时间。

传统线程互斥技术 synchronized

用户头像
武哥聊编程1 月 30 日

微信搜索:武哥聊编程。关注我,每天一起进步。

https://static001.geekbang.org/infoq/8d/8d5c26a43f56ded68617c0fb316285d6.jpeg?x-oss-process=image/resize,w_416,h_234

排队打饭:公平锁和非公平锁 (面试)

用户头像
叫练1 月 3 日

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

https://static001.geekbang.org/infoq/69/694eb4e4c55fcebdf0f912e863a3b918.jpeg?x-oss-process=image/resize,w_416,h_234

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

用户头像
叫练2020 年 12 月 22 日

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

https://static001.geekbang.org/infoq/cb/cbe2ee8a39ff55c4091dd55343ceedcb.jpeg?x-oss-process=image/resize,w_416,h_234

源码解析 Synchronized 同步方法的八种使用场景,收藏

用户头像
996小迁2020 年 12 月 22 日

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

https://static001.geekbang.org/infoq/09/09718222a2c928e4001cfca16ad41256.png?x-oss-process=image/resize,w_416,h_234

从 JMM 透析 volatile 与 synchronized 原理

用户头像
码哥字节2020 年 12 月 16 日

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

https://static001.geekbang.org/infoq/ad/ad3643259a3ae328e4b767ad075c1994.jpeg?x-oss-process=image/resize,w_416,h_234

Java 中 CAS 原理分析 (volatile 和 synchronized 浅析)

用户头像
叫练2020 年 12 月 14 日

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

https://static001.geekbang.org/infoq/1a/1a05cba405f2eee24e99de3c6933e75a.png?x-oss-process=image/resize,w_416,h_234

动态高并发时为什么推荐 ReentrantLock 而不是 Synchronized?

用户头像
moon聊技术2020 年 12 月 11 日

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

https://static001.geekbang.org/infoq/df/dfaa541e10666baac0973c795807b791.jpeg?x-oss-process=image/resize,w_416,h_234

可见性是什么?(通俗易懂)

用户头像
叫练2020 年 12 月 10 日

可见性是什么?(通俗易懂)

https://static001.geekbang.org/infoq/df/df95d53a4cc4e3462cbe548e05ee5ff8.png?x-oss-process=image/resize,w_416,h_234

synchronized 到底该不该用

用户头像
古时的风筝2020 年 11 月 19 日

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

https://static001.geekbang.org/infoq/f4/f49fc253446ce8b85946955fd76434af.png?x-oss-process=image/resize,w_416,h_234

码农会锁,synchronized 对象头结构 (mark-word、Klass Pointer)、指针压缩、锁竞争,源码解毒、深度分析!

用户头像
小傅哥2020 年 10 月 29 日

通过HotSpot虚拟机,对照C++源码,深度学习 synchronized 原理。了解对象头组成,mark-word、Klass Pointer、对象实际数据等是如何存放和锁之间的关系。

浅析 synchronized

用户头像
朱华2020 年 10 月 11 日

同步方法支持一种简单的策略来防止线程干扰和内存一致性错误: 如果一个线程对多个线程可见,则对象变量的所有读取或写入都是通过同步方法来完成的

https://static001.geekbang.org/infoq/69/6984e4228bfd708b49d8f8e1759631ef.jpeg?x-oss-process=image/resize,w_416,h_234

synchronized 实现原理及代码证明各种锁

用户头像
Darren2020 年 9 月 10 日

synchronized深入分析及代码实现锁膨胀等

8 锁问题

用户头像
HeGuang2020 年 8 月 22 日

八锁问题

https://static001.geekbang.org/infoq/dd/dd33455c74fbb714894855c64caa4c42.png?x-oss-process=image/resize,w_416,h_234

手写一个重入锁

用户头像
诸葛小猿2020 年 8 月 2 日

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

https://static001.geekbang.org/infoq/dd/dd5453c48b1c3a6369e01c369bfc20f3.png?x-oss-process=image/resize,w_416,h_234

没内鬼,来点干货!volatile 和 synchronized

用户头像
Kerwin2020 年 7 月 14 日

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

https://static001.geekbang.org/infoq/f1/f13f5bf49c2c4ce61e7f0ac58cf6b3e0.jpeg?x-oss-process=image/resize,w_416,h_234

一篇文章快速搞懂 Atomic(原子整数 / 原子引用 / 原子数组 /LongAdder)

用户头像
学习Java的小姐姐2020 年 6 月 10 日

并发关键字除了Synchronized(如有不懂请移至传送门,[万字长文,建议收藏]关于Synchronized锁升级,你该了解这些  ),还有另一大分支Atomic。如果大家没听过没用过先看基础篇,如果听过用过,请滑至底部看进阶篇,深入源码分析。

关于 Synchronized 锁升级,你该了解这些

用户头像
学习Java的小姐姐2020 年 6 月 5 日

毫无疑问,synchronized是我们用过的第一个并发关键字,很多博文都在讲解过。不过大多数讲解还停留在对synchronized的使用层面,其底层的很多原理和优化,很多人可能并不知晓。因此本文将通过对synchronized的大量C源码分析,让大家对他的了解更加透彻点。

synchronized_synchronized资料文章-InfoQ写作平台