
设计模式
Orange_橙子先生
一步一个脚印,坚持学习,成为一名优秀的程序员!
展开
-
Java并发编程之Thread-pre-message设计模式
Thread-Per-Message的意思是为每一个消息的处理开辟一个线程使得消息能够以并发的方式进行处理,从而提高系统整体的吞吐能力。相当于一个请求过来,就会有一个线程为当前请求服务。特点:提升系统的响应,缩短响应时间当请求的资源比较耗时的时候,可以采用这个方法,当响应的时间比新创建一个线程还短的时候就没有必要使用。没有返回值无需等待实行的结果没有顺序可言请求没有先后的...原创 2020-04-18 13:40:08 · 306 阅读 · 0 评论 -
Java并发编程之读写锁设计模式
日常开发中,有这样的场景,某些数据读的次数远超于写的次数,但是在多线程环境下读写并不能同时进行。读是可以并行处理的,但是写却不能。读写读✅❌写❌❌只有读读是可以并行的,别的必须做到读写分离。下面将演示读写锁模式,读的时候放开,但是写的时候需要添加锁机制,保证线程安全。// 读写锁public class ReadWriteLock { ...原创 2020-04-17 16:23:19 · 270 阅读 · 0 评论 -
Java并发编程之单线程执行设计模式
在多线程环境中,如何保证共享资源的合理使用。就可以引出这个设计模式。场景:多个游客要验证身份后才能通过检票口角色作用Gate资源、 并提供方法使用资源User使用资源的地方Client模拟多个线程使用资源代码演示:public class Gate { private String name; private String ad...原创 2020-04-17 15:10:32 · 221 阅读 · 0 评论 -
Java并发编程之单利模式
一:什么是单利模式单例:保证一个类仅有一个实例,并提供一个访问它的全局访问点。其目的是保证整个应用中只存在类的唯一个实例。二:单利模式的四种实现方式2.1:饿汉式public class Singleton { private static Singleton instance = new Singleton(); // 私有化构造方法 private Singleton() {...原创 2020-04-17 14:38:09 · 198 阅读 · 0 评论 -
Java并发编程之Balking设计模式
Balking翻译过来有防止、回避的意思,Balking的设计理念是当一个线程去执行某个任务的时候,发现其他线程已经把这个任务做了,于是就不用去干了。基于这样的理念就出现这种多线程的设计模式。相比于 Guarded Suspension 设计模式,Guarded Suspension 是一旦达到某种条件才去执行,而 Balking 是如果一旦某种条件达到,就中断执行。场景:我们在CSDN上编...原创 2020-04-17 14:14:58 · 323 阅读 · 0 评论 -
Java并发编程之Guarded Suspension设计模式
Guarded Suspension 设计模式大体概念就是当服务请求过多时,先排起队,后慢慢进行处理。核心思想在于缓冲服务。当我们服务端处理客户端的请求过多时,超出了我们服务的及时处理能力范围,但是又不能放弃任何一个请求,此时,这种设计模式就应运而生,先让客户端的请求进行排队,后由服务端程序一个一个处理。这样就可以做到两不耽误。代码演示之前先看一下各类所起到的作用:角色作用...原创 2020-04-16 16:27:41 · 246 阅读 · 0 评论 -
Java并发编程之Future设计模式 (未来设计模式)
所谓的未来设计模式就是不需要线程阻塞,提前把结果反馈给你。在我们日常开发中经常有这样的场景:我们需要等待一个线程返回结果后,根据这个结果才能执行下面的逻辑。下面的代码就演示了这个场景:public class SyncInvoker { public static void main(String[] args) { String result = getResult(...原创 2020-04-16 10:47:31 · 512 阅读 · 0 评论