方法封装与多线程
在实际开发中,可能会遇到如下情况:
后端另起一个线程执行,先将结果返回给前端。
然后发现在项目中,很多地方都有这样的需求,比如excel导出,先查询后端数据再写入excel中返回给前端,这样会导致请求相对的缓慢,我们可以通过websocket,先将后端操作的通知给前端,后端另起线程执行excel导出的功能,导出完毕后,再通过websocket将结果通知给前端。
问题是很多地方都要这样写,只有导出的数据不一样,其他完全一样,我想我可以封装成一个公用方法,在公用方法上,将数据替换。
很不幸的是,获取数据量过多,这点我不得不放在线程中来查询,那么问题来了:如何在线程中替换查询结果?
就这个问题,我在网上找到了解决方法,以下是我总结的一些个人经验。
函数式接口
自定义一个接口,作用是此接口可以在参数中接收传递过来的方法
/**
* @author lc
*/
public interface MethodAction