java
文章平均质量分 95
雪原孤狼
一个技术上的坚守者,我会将自己所学的知识毫无保留的持续输出给大家,坚守自己的目标与信念。只要路是对的,就不害怕遥远。只要认准是值得的,就不要在乎得失以及沧桑变化......哪怕最淡的墨水,也胜过最强的记忆
展开
-
并发条件队列之Condition 精讲
1. 条件队列的意义 Condition将Object监控器方法( wait , notify和notifyAll )分解为不同的对象,从而通过与任意Lock实现结合使用,从而使每个对象具有多个等待集。 Lock替换了synchronized方法和语句的使用,而Condition替换了Object监视器方法的使用。 条件(也称为条件队列或条件原创 2021-01-27 10:35:41 · 932 阅读 · 1 评论 -
一文带你学会AQS和并发工具类的关系
1. 存在的意义 AQS(AbstractQueuedSynchronizer)是JAVA中众多锁以及并发工具的基础,其底层采用乐观锁,大量使用了CAS操作, 并且在冲突时,采用自旋方式重试,以实现轻量级和高效地获取锁。 提供一个框架,用于实现依赖于先进先出(FIFO)等待队列的阻塞锁和相关的同步器(semaphore等)。 此类旨在为大多数依赖单个原子int值表示状态的同步器提供有用的基础。 子类必须定义更改此状态的受保护方法,并定义该状态对于获取或释放此对象而言意味着什么。 鉴于这些,此类中的其他方法将原创 2021-01-15 16:23:26 · 115 阅读 · 0 评论 -
Synchronized 精讲
1.简介 1.1 作用 在并发场景中,保证同一时刻只有一个线程对有并发隐患的代码进行操作 1.2 错误案例 需求:两个线程对 count 变量进行200000次循环增加,预期结果是400000次 public class SynchronizedDemo implements Runnable { private static int count = 0; static SynchronizedDemo synchronizedInstance = new SynchronizedDemo原创 2021-01-11 21:14:46 · 167 阅读 · 6 评论