![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
JUC
文章平均质量分 89
破晓初
喜欢文本,喜欢搜索,喜欢你。
展开
-
JUC之synchronized
synchronized是Java语言的一个关键字,用来修饰一个方法或者代码块,使得目标达到线程同步的目的。当我们希望某个方法或者代码块,同一时间只能有一个线程能够执行,即是同一时间只有一个线程能够进入该方法或者代码块,其它线程将会被阻塞直接原线程执行结束,此时我们使用该关键字。原创 2017-02-04 15:22:58 · 646 阅读 · 0 评论 -
JUC之volatile
volatile提供了一个高效的同步机制,她在某些情况下可以代替synchronized实现更轻量和高效的同步机制,同时也更为脆弱,更难于掌控。被volatile修饰的变量具有内存可见性,但不具有原子性。至于什么是可见性,前面已经做过简单介绍,接下来我们进一步来看什么是可见性。原创 2017-02-06 03:12:38 · 620 阅读 · 0 评论 -
JUC之JDK自带锁ReentrantLock
ReentrantLock出身自Java 1.5,中文名可重入锁 是Java JDK自带独占锁的唯一实现,也是最常用的锁,是synchronized的升级版。我们中间有个synchronized我们已经认识过synchronized了,知道她能帮我们实现线程同步提供原子性语义,同时又有可重入性。同时我们也已经知道了可重入性是什么意思,也知道公平性的含义。原创 2017-02-12 10:19:50 · 858 阅读 · 0 评论 -
JUC之JDK自带锁StampedLock
StampedLock是JDK 1.8的一把新锁,同样出自Doug Lee之手。这货高级了,出身显赫、自带光环,有着光辉的使命。她是一把不一样的锁,前面我们所整理过的两把锁(ReentantLock&ReentrantReadWriteLock)都是基于AQS框架实现,同时又都具有可重入性(当然可重入性不是由AQS框架带来的)。然而她却与众不同,她是读写锁,她是把乐观锁,她是基本于时间戳实现。原创 2017-02-22 02:18:29 · 962 阅读 · 0 评论 -
JUC之JDK自带锁ReentrantReadWriteLock
Java纪年1.5年,ReentrantReadWriteLock诞生于J·U·C。此后,国人一般称它为读写锁。人如其名,人如其名,她就是一个可重入锁,同时她还是一个读、写锁。跟ReentrantLock并没有亲属关系因为ReentrantReadWriteLock在命名上跟ReetrantLock非常贴近,很容易让人认为她跟ReentrantLock有继承关系原创 2017-02-14 23:10:25 · 531 阅读 · 0 评论 -
同步锁前传 相关术语索引
本文主要梳理了并发编程中常用的相关术语定义以及简要解释。原创 2017-02-04 04:03:18 · 426 阅读 · 0 评论 -
JUC之AQS框架
AQS是一个框架,一个提供锁或同步器依赖于`FIFO等待队列`所必要的“基础设施”的框架。**Dong Lea**之所以写个抽象类的目的是为了简化我们实现同步器的工作。提供一个基于FIFO等待队列,可以用于构建锁或者其他同步装置的基础框架。意在能够成为实现大部分同步需求的基础。AQS默认提供了独占式和共享式两种模式,JDK对应的实现有ReentrantLock和ReentrantReadWriteLock。即除原创 2017-02-08 00:38:21 · 3349 阅读 · 0 评论