![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java并发编程
文章平均质量分 96
Mr_ziyang
Think big,make different!
展开
-
java并发编程系列之原理篇-synchronized与锁
前言Java中的锁都是基于对象的锁,Java中的每一个对象都可以作为一个锁,我们常听到类锁其实也是对象锁,因为Java类只有一个class对象(一个Java类可以有多个实例对象,多个实例对象共享这一个Java类)。之所以有锁的概念,都是因为在多个线程在访问一个共享变量资源时会发生一些不可控制的问题。所以,锁控制的就是共享资源对象。锁的分类Java 6 为了减少获得锁和释放锁带来的性能消耗,引入了“偏向锁”和“轻量级锁“。在Java 6 以前,所有的锁都是”重量级“锁。所以在Java 6 及其以后,一个原创 2020-09-01 15:38:52 · 176 阅读 · 1 评论 -
Java并发编程之基础篇--volatile关键字
前言在Java并发编程中,有一个关键字是volatile,它的英文意思是“易变的,不稳定的,无定型的”。那么在Java编程中,被volatile修饰的变量,它能够保证当前变量的可见性,从而使所有访问该前变量的线程都能够及时的获取到当前变量的最新值,从而保证它的可见性。那么它是怎么做到的呢?volatile的内存语义被volatile修饰的共享变量进行写操作时,CPU会对当前写操作添加一个LOCK前缀的汇编指令,而这个指令会在多核CPU下发生如下两件事情:将当前处理器缓存行的数据写回到系统内存中这原创 2020-09-01 15:36:05 · 196 阅读 · 0 评论