![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
设计模式
文章平均质量分 78
AncelyF
这个作者很懒,什么都没留下…
展开
-
从ReentrantLock的实现看AQS的原理
前言 Java中的大部分同步类(Lock、Semaphore、ReentrantLock等)都是基于AbstractQueuedSynchronizer(简称为AQS)实现的。 AQS简介 AQS是一种提供了原子式管理同步状态、阻塞和唤醒线程功能以及队列模型的简单框架 核心思想是,如果被请求的共享资源空闲,那么就将当前请求资源的线程设置为有效的工作线程,将共享资源设置为锁定状态;如果共享资源被占用,就需要一定的阻塞等待唤醒机制来保证锁分配。这个机制主要用的是CLH队列的变体实现的,将暂时获取不到锁的线程加原创 2021-10-29 15:29:22 · 147 阅读 · 0 评论 -
设计模式之代理模式
代理模式分为静态代理和动态代理 静态代理 就拿网络请求来说 先定义一个网络请求统一接口INetworkRequester 里面有一个post方法 public interface INetworkRequester{ void post(); } 网络请求框架有很多种比如早期的 Volley 现在的Okhttp public class OkhttpNetworkRequester implements INetworkRequester{ public void post(){ Log.i("原创 2021-10-13 01:14:09 · 85 阅读 · 0 评论