摘要: 一、CountDownLatch 文档描述 A synchronization aid that allows one or more threads to wait until a set of operations being performed in other threads complet 阅读全文
posted @ 2019-05-15 23:09 清泉白石 阅读(194) 评论(0) 推荐(0) 编辑
摘要: 一、概念 利用锁机制实现线程同步,synchronized关键字的底层交由了JVM通过C++来实现 Java中的锁有两大特性: 互斥性 同一时间,只允许一个线程持有某个对象锁。 可见性 锁释放前,线程对变量的修改,后面获得锁的线程可见。 可见性 JMM关于synchronized的两条规定: 1. 阅读全文
posted @ 2019-05-15 23:06 清泉白石 阅读(245) 评论(0) 推荐(0) 编辑
摘要: 背景和作用 在同步组件的实现中,AQS是核心部分,同步组件的实现者通过使用AQS提供的模板方法实现同步组件语义,AQS则实现了对同步状态的管理,以及对阻塞线程进行排队,等待通知等等一些底层的实现处理。AQS的核心也包括了这些方面:同步队列,独占式锁的获取和释放,共享锁的获取和释放以及可中断锁,超时等 阅读全文
posted @ 2019-05-15 20:14 清泉白石 阅读(388) 评论(0) 推荐(0) 编辑
摘要: 一、介绍 volatile保证共享变量的“可见性”。可见性指的是当一个线程修改变量时,另一个线程能读到这个修改的值。 这里就要提出几个问题。 问题1:为什么一个线程修改时,另一个线程可能会“看不见”? 问题2:这种可见性是如何实现的? 二、问题1 变量为何“不可见” 回答:是由于缓存导致的可见性问题 阅读全文
posted @ 2019-05-15 20:00 清泉白石 阅读(866) 评论(0) 推荐(0) 编辑
摘要: ReentrantReadWriteLock 阅读全文
posted @ 2019-05-15 09:43 清泉白石 阅读(258) 评论(0) 推荐(0) 编辑
摘要: 介绍 依赖关系 源码 构造方法 参考文档 "10.并发包阻塞队列之ArrayBlockingQueue" 阅读全文
posted @ 2019-05-15 09:38 清泉白石 阅读(134) 评论(0) 推荐(0) 编辑