概念: 是利用锁的机制来实现同步的。 锁机制有如下两种特性: 互斥性:即在同一时间只允许一个线程持有某个对象锁,通过这种特性来实现多线程中的协调机制,这样在同一时间只有一个线程对需同步的代码块(复合操作)进行访问。互斥性我们也往往称为操作的原子性。 可见性:必须确保在锁被释放之前,对共享变量所做的修 ...
分类:
其他好文 时间:
2020-01-23 22:53:14
阅读次数:
168
volatile是什么? volatile是JVM提供的一种轻量级的同步机制,其具有三个特性。 保证可见性 不保证原子性 禁止指令重排 保证可见性 JMM(java memory model)中文翻译为Java内存模型,是JVM下的一种规范,规定了JVM对于程序在内存中的变量应该以什么样的一样形式进 ...
分类:
编程语言 时间:
2020-01-23 19:56:10
阅读次数:
99
1.说说你对volatile的理解。 volatitle在多线程情况下,可以保证数据数据的可见性。禁止指令重排优化,从而避免多线程环境下程序出现乱序执行导致执行结果不一致的问题,它不支持原子性(使用AutomicInteger来保证原子性)。 2.你在哪些地方使用过volatitle在单例模式DCL ...
分类:
编程语言 时间:
2020-01-21 20:02:17
阅读次数:
78
synchronized、volatile、Lock详解 https://blog.csdn.net/u012102104/article/details/79231159 在Java并发编程过程中,我们难免会遇到synchronized、volatile和lock,其中lock是一个类,而其余两个 ...
分类:
其他好文 时间:
2020-01-19 09:52:49
阅读次数:
81
概述 是一个线程安全的 ,通过内部的 数组和显示锁ReentrantLock来实现线程安全。 的底层也是基于 实现的。 更适合于读多写少的环节。 CopyOnWriteArrayList源码分析 核心属性 它的内部属性也非常的简单,值得注意的是array是通过volatile修饰的。 重要方法分析 ...
分类:
其他好文 时间:
2020-01-17 19:15:50
阅读次数:
86
原文摘自:https://www.jianshu.com/p/d48f854ead85 1.中断后LockSupport.park()直接返回 public class MultInterruptParkDemo { public static volatile boolean flag = tru ...
分类:
其他好文 时间:
2020-01-16 14:44:24
阅读次数:
127
目录 一、J.U.C 简介 二、synchronized 三、volatile 四、CAS 五、ThreadLocal 参考资料 📦 本文以及示例源码已归档在 javacore 一、J.U.C 简介 Java 的 java.util.concurrent 包(简称 J.U.C)中提供了大量并发工具 ...
分类:
编程语言 时间:
2020-01-16 12:48:31
阅读次数:
76
1. 基础知识:HashMap,ConcurrentHashMap,锁(Synchronized,ReentrantLock,自旋锁),AQS,线程池,volatile,异常处理,Error和Exception,CountDownLatch和CyclicBarrier 2. 并发知识:高并发怎么办, ...
分类:
其他好文 时间:
2020-01-14 20:17:27
阅读次数:
75
一、采用对象的wait() notify()方法实现 二、采用volatile方法实现 ...
分类:
编程语言 时间:
2020-01-14 19:09:20
阅读次数:
101
上期回顾: 上次博客我们说了我们的volatile关键字,我们知道volatile可以保证我们变量被修改马上刷回主存,并且可以有效的防止指令重排序,思想就是加了我们的内存屏障,再后面的多线程博客里还有说到很多的屏障问题。 volatile虽然好用,但是别用的太多,咱们就这样想啊,一个被volatil ...
分类:
编程语言 时间:
2020-01-14 10:13:43
阅读次数:
96