摘要: Future和CallableRunnable缺陷不能返回一个返回值也不能抛出checked ExceptionCallable接口类似于Runnable,被其它线程执行的任务实现call方法有返回值Future可以用Future.get来获取Callable接口返回的执行结果,还可以通过Futur 阅读全文
posted @ 2024-03-02 13:48 wangzhilei 阅读(12) 评论(0) 推荐(0) 编辑
摘要: AQS(AbstractQueuedSynchronizer)AQS是一个用于构建锁、同步器、协作工具类的工具类(框架)。有了AQS以后,更多的协作工具类都可以很方便得被写出来ReentrantLock,Semaphore,ReentrantLock和Semaphore,包括CountDownLat 阅读全文
posted @ 2024-03-01 15:42 wangzhilei 阅读(22) 评论(0) 推荐(0) 编辑
摘要: 控制并发流程控制并发流程的工具类,作用就是更容易得让线程之间合作让线程之间相互配合,来满足业务逻辑比如让线程A等待线程B执行完毕后再执行等合作策略类作用说明Semaphore信号量,可以通过控制“许可证”的数量,来保证线程之间的配合线程只有在拿到“许可证”后才能继续运行。相比于其他的同步器,更灵活C 阅读全文
posted @ 2024-03-01 09:55 wangzhilei 阅读(8) 评论(0) 推荐(0) 编辑
摘要: 并发容器ConcurrentHashMap:线程安全的HashMapCopyOnWriteArrayList:线程安全的ListBlockingQueue:这是一个接口,表示阻塞队列,非常适合用于作为数据共享的通道ConcurrentLinkedQueue:高效的非阻塞并发队列使用链表实现。可以看做 阅读全文
posted @ 2024-02-29 15:00 wangzhilei 阅读(5) 评论(0) 推荐(0) 编辑
摘要: atomic(原子类)不可分割一个操作是不可中断的,即便是多线程的情况下也可以保证java.util.concurrent.atomiceTnrNEEOT原子类的作用和锁类似,是为了1保证开发情况下线桂女生。个个过原子类相比于锁,有一定的优势:粒度更细:原子变量可以把竞争范围缩小到变量级别这是我们可 阅读全文
posted @ 2024-02-26 07:58 wangzhilei 阅读(28) 评论(0) 推荐(0) 编辑
摘要: LockLock和synchronized,这两个是最常见的锁,它们都可以达到线程安全的目的,但是在使用上和功能上又有较大的不同。Lock并不是用来代替synchronized的,而是当使用synchronized不合适或不足以满足要求的时候,来提供高级功能的。为什么synchronized不够用效 阅读全文
posted @ 2024-01-31 19:04 wangzhilei 阅读(11) 评论(0) 推荐(0) 编辑
摘要: 定义:允许一个对象在其内部状态改变时,改变它的行为 类型:行为型 适用场景:一个对象存在多个状态(不同状态下行为不同),且状态可以相互转换 优点: 将不同的状态隔离 把各种状态的转换逻辑,分布到State的子类中,减少相互间依赖 增加新的状态非常简单 缺点:状态多的业务场景导致类数目增加,系统变复杂 阅读全文
posted @ 2024-01-31 12:20 wangzhilei 阅读(5) 评论(0) 推荐(0) 编辑
摘要: 定义:封装作用于某数据结构(如List/Set/Map等)中的各元素操作 补充定义:可以在不改变各元素类的前提下,定义作用于这些元素的操作 类型:行为型 适用场景: 一个数据结构(如List/Set/Map等)包含很多类型对象 数据结构与数据操作分离 优点:增加新的操作很容易,即增加一个新的访问者 阅读全文
posted @ 2024-01-31 11:39 wangzhilei 阅读(4) 评论(0) 推荐(0) 编辑
摘要: 比如一个web请求,有一堆的过滤器需要处理(或不处理)这个请求,而这一堆接收此次请求的过滤器对象形成一条调用链,即为责任链模式 定义:为请求创建一个接收此次请求对象的链 类型:行为型 适用场景:一个请求的处理需要多个对象当中的一个或几个协作处理 优点: 请求的发送者和接收者(请求的处理)解耦 责任链 阅读全文
posted @ 2024-01-30 10:19 wangzhilei 阅读(4) 评论(0) 推荐(0) 编辑
摘要: 定义:定义一个封装一组如何交互的对象,通过使对象明确的相互引用来促进松散耦合,并允许独立地改变它们的交互 类型:行为型 适用场景: 系统中对象之间存在复杂的引用关系,产生的相互依赖关系结构混乱且难以理解 交互的公共行为,如果需要改变行为则可以增加新的中介者类 优点: 将一对多转化为一对一、降低程序复 阅读全文
posted @ 2024-01-29 10:32 wangzhilei 阅读(10) 评论(0) 推荐(0) 编辑