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多執行緒的數據的詳細內容。更多資訊請關注PHP中文網其他相關文章!