java多线程数据分页处理实例讲解

在数据的最终结果上,我们能够通过分类的方法,准备的筛选出不同类别结果的信息。这里我们发散一下思维,在Java中对于数据大量处理的,多线程是一个非常常见的代表,我们可以用分页来处理多线程的数据问题。下面我们对分类的类型进行了解,然后带来两种分页在多线程的逻辑。

1.常见的分页类型

传统的:采用传统的分页方式,可以明确的获取数据信息,如有多少条数据,分多少页显示等。

下拉式:采用下拉式的分页方式,一般无法获取明确的数据数量相关的信息,但在分页操作以后,仍然可以看到之前查询的数据。

2.分页式查询逻辑

int pageSize = 100;
int currentPageLength = 0;
int pageIndex = 0;
ExecutorService exe = newFixedThreadPool(Runtime.getRuntime().availableProcessors());
do {
  int offset = pageIndex * pageSize;
  List<TradeInfo> tradeInfos = tradeInfoService.findTradeInfoBysPage(queryParams,offset,pageSize);
  if (null != tradeInfos && tradeInfos.size() > 0) {
    currentPageLength = tradeInfos.size();
    TradeInfoProcesserTask task = new TradeInfoProcesserTask(tradeInfos );
    exe.execute(task);
    pageIndex++;
  }else{
    System.out.println("Page Query TradeInfo Got NOTHING! Break query loop!");
    break;
  }
} while (currentPageLength == pageSize);
exe.shutdown();
while(true) {
  if(exe.isTerminated()){
    doOtherThings();
    System.out.println("分页式多线程处理数据完毕!");
    break;
  }
}

3.数据处理逻辑

public class TradeInfoProcesserTask implements Runnable{
  private volatile List<TradeInfo> tradeInfos;

  public TradeInfoProcesserTask (List<TradeInfo> _tradeInfos){
    tradeInfos = _tradeInfos;
  }

  @Override
  public void run() {
    processTradeInfos();
  }

  private void processTradeInfos(){
    //do something with tradeInfos .....
  }
}

到此这篇关于java多线程数据分页处理实例讲解的文章就介绍到这了,更多相关分页处理java多线程的数据内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • java多线程数据分页处理实例讲解

    在数据的最终结果上,我们能够通过分类的方法,准备的筛选出不同类别结果的信息.这里我们发散一下思维,在Java中对于数据大量处理的,多线程是一个非常常见的代表,我们可以用分页来处理多线程的数据问题.下面我们对分类的类型进行了解,然后带来两种分页在多线程的逻辑. 1.常见的分页类型 传统的:采用传统的分页方式,可以明确的获取数据信息,如有多少条数据,分多少页显示等. 下拉式:采用下拉式的分页方式,一般无法获取明确的数据数量相关的信息,但在分页操作以后,仍然可以看到之前查询的数据. 2.分页式查询逻辑

  • jsp页面数据分页模仿百度分页效果(实例讲解)

    废话不多说,直接上代码 请根据自己的项目.包名修改 <%@page import="web09.shop.DBUtil"%> <%@page import="java.sql.ResultSet"%> <%@page import="java.sql.PreparedStatement"%> <%@page import="java.sql.Connection"%> <%

  • Java分页查询--分页显示(实例讲解)

    当数据库中数据条数过多时,一个页面就不能显示,这是要设置分页查询,首先要使用的是数据库sql语句的limit条件实现分组查询 sql语句大概形式为: select * from table limit 开始索引,显示条数 用该语句就会实现分块查询,并且每页显示固定条数. 首先要实现后台分页,我们需要知道它有多少页,每页有多少行,这就需要知道一共多少行,调用sql语句时还需要知道每一页的开始索引,开始索引是根据当前页数算出来的,所以还需要知道当前页数,查询后会返回一个列表存储当前页数据.将这些属性

  • java 动态生成SQL的实例讲解

    代码如下: /** * 动态生成SQ及SQL参数L * @param ve 接收到的消息的CHGLIST * @param paramList MQ消息中的SQL参数 * @param t 泛型对象 * @param table 数据表 * @param list 可执行SQL语句集合 * @return */ public <T> String updateSqlAndParamList(Vector<String> ve,List<String> paramList

  • JAVA超级简单的爬虫实例讲解

    爬取整个页面的数据,并进行有效的提取信息,注释都有就不废话了: public class Reptile { public static void main(String[] args) { String url1=""; //传入你所要爬取的页面地址 InputStream is=null; //创建输入流用于读取流 BufferedReader br=null; //包装流,加快读取速度 StringBuffer html=new StringBuffer(); //用来保存读取页

  • java对象类型转换和多态性(实例讲解)

    对象类型转换 分为向上转型和向下转型(强制对象转型). 向上转型是子对象向父对象转型的过程,例如猫类转换为动物类:向下转型是强制转型实现的,是父对象强制转换为子对象. 这和基础数据类型的转换是类似的,byte在需要时会自动转换为int(向上转型),int可以强制转型为byte(向下转型). 对于对象转型来说, 向上转型后子对象独有的成员将不可访问 . 意思是,在需要一只动物时,可以把猫当作一只动物传递,因为猫继承自动物,猫具有动物的所有属性.但向上转型后,猫不再是猫,而是被当作动物看待,它自己独

  • java中Base64编码原理实例讲解

    什么是 Base64 编码 Base64 编码是最常见的编码方式,基于 64 个可打印字符来表示任意二进制数据的方法,是从二进制转换到可见字符的过程. 使用场景 数据加密或签名通过 Base64 转换为字符串存储或传输. 不能传输文件的网络环境可以转换 Base64 进行网络传输. 在文本资源(如 HTML 和 CSS文件)中嵌入图片文件或其他二进制资源. 在 URL.网页中传输少量二进制数据等等. Base64 编码原理 原理是把每 3 个字节(每个字节为 8 位, 3 个字节为 24 位)重

  • Java编写超时工具类实例讲解

    我们在开发过程中,在进行时间操作时,如果在规定的时间内完成处理的话,有可能会回到正确的结果.否则,就会被视为超时任务.此时,我们不再等待(不再执行)的时间操作,直接向调用者传达这个任务需要时间,被取消了. 1.说明 java已经为我们提供了解决办法.jdk1.5带来的并发库Future类可以满足这一需求.Future类中重要的方法有get()和cancel().get()获取数据对象,如果数据没有加载,则在获取数据之前堵塞,cancel()取消数据加载.另一个get(timeout)操作表明,如

  • Java实现商品管理系统代码实例讲解

    实现功能:商品查询,新增,更改价格,以及删除 首先是三个基本类的构建 商品类.账号类.品牌类 1.商品类 public class Goods { //商品信息:商品名称,商品价格,商品销量,商品种类,商品品牌对应编号 private String goodsName; private double goodsPrice; private int goodsSales; private String goodsCategories; private int brandsNum; private

  • 基于Bootstrap分页的实例讲解(必看篇)

    前面的话 分页导航几乎在每个网站都可见,好的分页能给用户带来好的用户体验.本文将详细介绍Bootstrap分页 概述 在Bootstrap框架中提供了两种分页导航: ☑ 带页码的分页导航 ☑ 带翻页的分页导航 页码分页 带页码的分页导航,可能是最常见的一种分页导航,特别是在列表页内容超多的时候,会给用户提供分页的导航方式 [默认分页] 平时很多人喜欢用div>a和div>span结构来制作带页码的分页导航.不过,在Bootstrap框架中使用的是ul>li>a这样的结构,在ul标签

随机推荐