方法封装与多线程

在实际开发中,可能会遇到如下情况:
后端另起一个线程执行,先将结果返回给前端。
然后发现在项目中,很多地方都有这样的需求,比如excel导出,先查询后端数据再写入excel中返回给前端,这样会导致请求相对的缓慢,我们可以通过websocket,先将后端操作的通知给前端,后端另起线程执行excel导出的功能,导出完毕后,再通过websocket将结果通知给前端。

问题是很多地方都要这样写,只有导出的数据不一样,其他完全一样,我想我可以封装成一个公用方法,在公用方法上,将数据替换。

很不幸的是,获取数据量过多,这点我不得不放在线程中来查询,那么问题来了:如何在线程中替换查询结果?

就这个问题,我在网上找到了解决方法,以下是我总结的一些个人经验。

函数式接口

自定义一个接口,作用是此接口可以在参数中接收传递过来的方法

/*** @author lc*/
public interface MethodAction 

java-把方法当作参数传递相关推荐

  1. java中将方法当作参数传递的方式

    1. 使用consumer接口 在Java8中引入了一个函数式接口Consumer的对象,该对象可以把方法作为参数进行传递. 接口定义: @FunctionalInterface public int ...

  2. java中方法的参数传递机制

    转载自 :https://www.cnblogs.com/lixiaolun/p/4311863.html 问:当一个对象被当作参数传递到一个方法后,此方法可改变这个对象的属性,并可返回变化后的结果, ...

  3. java中方法的参数传递

    java中方法的参数传递方式只有一种:值传递: 对于基本类型来说,传递的是实参的副本(值传递),故在方法内修改传递进来的值并不会影响实参本身: 对于引用类型来说,传递进来的是引用变量的副本(也是值传递 ...

  4. 两种参数类型_深入理解Java中方法的参数传递机制

    形参和实参 我们知道,在Java中定义方法时,是可以定义参数的,比如: public static void main(String[] args){ } 这里的args就是一个字符串数组类型的参数. ...

  5. java中gettext方法_深入理解Java中方法的参数传递机制

    形参和实参 我们知道,在Java中定义方法时,是可以定义参数的,比如: public static void main(String[] args){ } 这里的args就是一个字符串数组类型的参数. ...

  6. Java中方法调用参数传递的方式是传值,尽管传的是引用的值而不是对象的值。(Does Java pass by reference or pass by value?)

    原文地址:http://www.javaworld.com/javaworld/javaqa/2000-05/03-qa-0526-pass.html 在Java中,所有的对象变量都是引用,Java通 ...

  7. java 中方法里的参数_【Java基础】12、java中方法的参数传递机制

    无论是什么语言,要讨论参数传递方式,就得从内存模型说起,主要是我个人觉得从内存模型来说参数传递更为直观一些.闲言少叙,下面我们就通过内存模型的方式来讨论一下Java中的参数传递. 这里的内存模型涉及到 ...

  8. java 把方法当参数传递_java 中 如何将“一个类的方法 ”作为参数传到“另一个类的方法”中...

    展开全部 在java中这是没有办法做到的,因e5a48de588b662616964757a686964616f31333337396336为java不是函数式编程语言,不过可以通过传递一个接口来实现 ...

  9. java面试题:当一个对象被当作参数传递到一个方法后,此方法可改变这个对象的属性,并可返回变化后的结果,那么这里到底是值传递还是引用传递?

    java面试题:当一个对象被当作参数传递到一个方法后,此方法可改变这个对象的属性,并可返回变化后的结果,那么这里到底是值传递还是引用传递? 答:是值传递.Java编程语言只有值传递参数. 当一个对象实 ...

最新文章

  1. python 文件追加写入_Python写入文件–解释了打开,读取,追加和其他文件处理功能
  2. 【Flutter】Flutter 布局组件 ( PhysicalModel 组件 )
  3. 战神引擎修改服务器时间,修改战神引擎手游进入游戏公告内容教程
  4. python libusb1库
  5. 读《不要告诉我你懂margin(海玉的博客)》有感
  6. 如何看待潘石屹搞python_潘石屹考了99分的Python,到底是一种什么存在?
  7. 如何高效管理我的时间?——时间会给你最好的答案
  8. jsp标记之动作标记介绍
  9. hadoop单机环境搭建
  10. 单线程reactor
  11. 把AspDotNetCoreMvc程序运行在Docker上-part3:使用独立的存储容器
  12. 吉他音阶训练——问题解答
  13. 记一次阴阳师挂机脚本开发
  14. 系统安装无法创建新的系统分区的解决方法
  15. 关于cox单因素与多因素分析
  16. Google SEO 搜索中心
  17. 华为Nova8缺货怎么办?这款手机也不错
  18. CentOS curl命令详解
  19. Github与Git安装使用
  20. 单点登录 Ucenter 分析

热门文章

  1. 《华为路由器学习指南》终审目录首度曝光
  2. 未来智慧建筑的发展方向有哪些?
  3. (轉貼)《杜哈亞運》林智勝制勝!中華成棒再見安打射日奪金 (News)
  4. windows监视桌面_如何在Windows 10中添加和监视孩子的帐户
  5. 计算机网络之局域网(3)无线局域网
  6. React高阶组件深入理解
  7. linux将中文语言改成英文版,将Linux中文语言修改成英文的具体操作方法及报错解决...
  8. Python + SQL Sever+ VB 数据分析项目【爱彼迎 酒店预定取消率建议】
  9. kmeans学习笔记轮廓系数以及使用KMeans做矢量量化
  10. 牛客网剑指offer——Java题解