欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

java多線程數(shù)據(jù)分頁處理實例講解

 更新時間:2021年01月19日 14:35:53   作者:小妮淺淺  
在本篇內(nèi)容里小編給大家分享了一篇關于java多線程數(shù)據(jù)分頁處理實例講解內(nèi)容,有興趣的朋友們可以學習下。

在數(shù)據(jù)的最終結果上,我們能夠通過分類的方法,準備的篩選出不同類別結果的信息。這里我們發(fā)散一下思維,在Java中對于數(shù)據(jù)大量處理的,多線程是一個非常常見的代表,我們可以用分頁來處理多線程的數(shù)據(jù)問題。下面我們對分類的類型進行了解,然后帶來兩種分頁在多線程的邏輯。

1.常見的分頁類型

傳統(tǒng)的:采用傳統(tǒng)的分頁方式,可以明確的獲取數(shù)據(jù)信息,如有多少條數(shù)據(jù),分多少頁顯示等。

下拉式:采用下拉式的分頁方式,一般無法獲取明確的數(shù)據(jù)數(shù)量相關的信息,但在分頁操作以后,仍然可以看到之前查詢的數(shù)據(jù)。

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("分頁式多線程處理數(shù)據(jù)完畢!");
    break;
  }
}

3.數(shù)據(jù)處理邏輯

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多線程數(shù)據(jù)分頁處理實例講解的文章就介紹到這了,更多相關分頁處理java多線程的數(shù)據(jù)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • java中List移除元素的四種方式

    java中List移除元素的四種方式

    本文主要介紹了java中List移除元素的四種方式,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2024-08-08
  • Java死鎖代碼實例及產(chǎn)生死鎖必備的四個條件

    Java死鎖代碼實例及產(chǎn)生死鎖必備的四個條件

    這篇文章主要介紹了Java死鎖代碼實例及產(chǎn)生死鎖必備的四個條件,Java 發(fā)生死鎖的根本原因是,在申請鎖時發(fā)生了交叉閉環(huán)申請,synchronized在開發(fā)中最好不要嵌套使用,容易導致死鎖,需要的朋友可以參考下
    2024-01-01
  • 淺析Java中StringBuffer和StringBuilder的使用

    淺析Java中StringBuffer和StringBuilder的使用

    當對字符串進行修改的時候,需要使用 StringBuffer 和 StringBuilder 類。本文就來和大家簡單聊聊這二者的使用與區(qū)別吧,希望對大家有所幫助
    2023-04-04
  • Mybatis的動態(tài)拼接條件方式

    Mybatis的動態(tài)拼接條件方式

    這篇文章主要介紹了Mybatis的動態(tài)拼接條件方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-02-02
  • SpringMVC異常處理的三種方式小結

    SpringMVC異常處理的三種方式小結

    本文主要介紹了SpringMVC異常處理的三種方式小結,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-09-09
  • .properties文件讀取及占位符${...}替換源碼解析

    .properties文件讀取及占位符${...}替換源碼解析

    本篇文章主要介紹了.properties文件讀取及占位符${...}替換源碼解析的相關知識,具有很好的參考價值。下面跟著小編一起來看下吧
    2017-05-05
  • 關于springboot配置druid數(shù)據(jù)源不生效問題(踩坑記)

    關于springboot配置druid數(shù)據(jù)源不生效問題(踩坑記)

    今天日常跟著網(wǎng)課學習,學到了整合druid數(shù)據(jù)源,遇到了好幾個坑,希望這篇文章可以幫助一些和我一樣踩坑的人
    2021-09-09
  • springboot使用jasypt加密庫實現(xiàn)數(shù)據(jù)庫加解密示例代碼

    springboot使用jasypt加密庫實現(xiàn)數(shù)據(jù)庫加解密示例代碼

    這篇文章主要給大家介紹了關于springboot使用jasypt加密庫實現(xiàn)數(shù)據(jù)庫加解密的相關資料,Jasypt是一個用于配置文件加密的Java庫,它可以用來加密和解密配置文件中的敏感信息,如數(shù)據(jù)庫密碼、API?密鑰等,需要的朋友可以參考下
    2024-04-04
  • JavaWeb之Filter過濾器詳解

    JavaWeb之Filter過濾器詳解

    本篇文章主要介紹了JavaWeb之Filter過濾器詳解,實例分析了JavaWeb之Filter過濾器的使用技巧,非常具有實用價值,需要的朋友可以參考下。
    2017-03-03
  • Spring Boot環(huán)境屬性占位符解析及類型轉(zhuǎn)換詳解

    Spring Boot環(huán)境屬性占位符解析及類型轉(zhuǎn)換詳解

    這篇文章主要給大家介紹了關于Spring Boot環(huán)境屬性占位符解析及類型轉(zhuǎn)換的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2018-08-08

最新評論