java多线程设计模式之订单模式
Java多线程实现订单模式:
客户端线程向服务端发起请求后,请求处理需要较长时间处理,这个时候客户端又需要及时得到一个结果响应,这好比我们去蛋糕店订蛋糕,蛋糕往往需要几个小时才能完成,这个时候店员就会给我一个订单,说过几个小时回来取蛋糕。
摸拟场景,客户端线程向服务端发起请求获取数据内容,数据准备需要很长时间,这个时候我们可以及时返回一个虚拟数据结果,服务器端启动新线程准备数据,一段时间后客户端线程在根据虚拟数据结果来获取真实数据内容。
设计如下:
Main:程序main类,负责发起客户端请求。
Server:服务端类,负责接收请求,创建新线程处理请求。
Data:数据接口,提供获取数据内容接口。
VistualData:虚拟数据类,实现data接口,服务端快速响应的虚拟数据结果,可以获取真实数据内容。
RealData:真实数据类,实现data接口,提供处理数据内容和存储真实数据内容。
实现如下:
Main:main类发出请求
package com.thread.order;
/**
* main类,想服务发出请求,获取请求数据
* @author Administrator
*
*/
public class Main {
/**
* main方法