![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
线程
Leven.
这个作者很懒,什么都没留下…
展开
-
【java】抽象同步队列AQS
1、什么是抽象同步队列? 抽象同步队列AQS(AbstractQueueSynchronized)是实现同步器的基础组件,并发包(J.U.C)包中 锁的底层就是使用AQS实现的。 2、AQS核心思想 AQS核心思想是,如果被请求的共享资源空闲,则将当前线程设置为有效的工作线程,并且将共享资源 设置为锁定状态。如果被请求的共享资源被占用,那么就需要一套线程阻塞等待以及被唤醒时锁分配的机制, ...原创 2020-04-09 11:30:24 · 176 阅读 · 0 评论 -
实现线程安全的方法
1、互斥同步 互斥同步是最常见的一种并发正确性保障方法,一般使用Synchronized和JUC包下的可重入锁 (即ReentrantLock和ReentrantReadWriterLock中的WriterLock) 互斥同步是一种悲观的并发策略 2、非阻塞同步 非阻塞同步是基于冲突检测的乐观并发策略。 采用CAS算法实现的同步操作,常见的有ReentrantReadWriterLock中的Re...原创 2020-04-09 00:06:15 · 375 阅读 · 0 评论 -
使用InheritableThreadLocal的细节
ThreadLocal不支持继承性,即在子线程中无法使用父线程的ThreadLocal,因此提供了InheritableThreadLocal来实现在子线程中也能使用父线程的ThreadLocal。 在使用InheritableThreadLocal时,应该注意,父线程中对InheritableThreadLocal变量的赋值要先于对子线程的定义,例如 Runnable ru...原创 2019-09-26 11:32:40 · 178 阅读 · 0 评论