读锁: 读锁拒绝其他线程获得写锁,读锁不拒绝其他线程获得读锁,多个上了读锁的线程可以并发读不会阻塞。多个读锁同时作用期间,其他想上写锁的线程都处...
ThreadLocal 提供了线程本地的实例。它与普通变量的区别在于,每个使用该变量的线程都会初始化一个完全独立的实例副本。ThreadLoca...
Node解析 AQS内部定义了一个static final的内部类Node,用于实现等待队列CLH,满足FIFO结构,其队列结构如下所示: 队列...
在使用AQS之前,我们首先需要了解它。 AQS是一个抽象类,不可以被实例化,它的设计之初就是为了让子类通过继承来实现多样的功能的。它内部提供了一...
首先我们可以先写一个锁的测试类,来让自己的锁实现好后。可以确保有效。 接下来我们思考,加锁是一个什么效果。第一个线程进来可以获得锁,之后进来的线...
1.什么是Executors框架?2.ThreadLocal的设计理念与作用?3.ThreadPool(线程池)用法与优势?4.高并发、任务执行...
1.什么是阻塞队列?如何使用阻塞队列来实现生产者-消费者模型?2.什么是同步容器和并发容器的实现?3.ArrayBlockingQueue是什么...
请带着如下问题阅读本文。1.什么是原子操作?在Java Concurrency API中有哪些原子类(atomic classes)?2.什么是...
请带着如下问题阅读本文。1.什么是自旋锁?2.什么是乐观和悲观锁?3.锁的等级:方法锁、对象锁、类锁?4.如何检测死锁?怎么预防死锁?5.同步方...
文集作者