
多线程编程
Hammond_
这个作者很懒,什么都没留下…
展开
-
线程池
Reenstrant可重入锁,利用静态内部类Sync(继承自AQS)实现,将大部分方法直接委派给Sync Lock() 当锁获取失败时,到最后会调用AQS类中的addWaiter方法将线程封装成Node加入CLH队列原创 2020-08-13 22:29:15 · 157 阅读 · 0 评论 -
AQS原理
AQS全称AbstractQueuedSynchronizer抽象队列同步器,它提供了一个FIFO的队列用于实现同步锁以及其他涉及同步锁的核心组件(例如JUC下的ReentrantLock、ReentrantReadWriteLock、CountDownLatch、Semaphore等) 同步器主要支持实现 独占锁,只有一个线程访问资源(ReentrantLock) 共享锁,多个线程访问共享资源(ReentrantReadWriteLock) AQS类图 AQS内部原理 AQS内部维护一个FIFO双向原创 2020-08-12 22:50:59 · 397 阅读 · 0 评论 -
线程池的使用
public ThreadPoolExecutor(int corePoolSize,int maximumPoolSize,long keepAliveTime,TimeUnit unit,BlockingQueue<Runnable> workQueue,ThreadFactory threadFactory,RejectedExecutionHandler handler); ...原创 2020-01-15 22:17:32 · 136 阅读 · 0 评论