java多線程數(shù)據(jù)分頁(yè)處理實(shí)例講解
在數(shù)據(jù)的最終結(jié)果上,我們能夠通過分類的方法,準(zhǔn)備的篩選出不同類別結(jié)果的信息。這里我們發(fā)散一下思維,在Java中對(duì)于數(shù)據(jù)大量處理的,多線程是一個(gè)非常常見的代表,我們可以用分頁(yè)來處理多線程的數(shù)據(jù)問題。下面我們對(duì)分類的類型進(jìn)行了解,然后帶來兩種分頁(yè)在多線程的邏輯。
1.常見的分頁(yè)類型傳統(tǒng)的:采用傳統(tǒng)的分頁(yè)方式,可以明確的獲取數(shù)據(jù)信息,如有多少條數(shù)據(jù),分多少頁(yè)顯示等。
下拉式:采用下拉式的分頁(yè)方式,一般無法獲取明確的數(shù)據(jù)數(shù)量相關(guān)的信息,但在分頁(yè)操作以后,仍然可以看到之前查詢的數(shù)據(jù)。
2.分頁(yè)式查詢邏輯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('分頁(yè)式多線程處理數(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 ..... }}
到此這篇關(guān)于java多線程數(shù)據(jù)分頁(yè)處理實(shí)例講解的文章就介紹到這了,更多相關(guān)分頁(yè)處理java多線程的數(shù)據(jù)內(nèi)容請(qǐng)搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!
相關(guān)文章:
1. IDEA EasyCode 一鍵幫你生成所需代碼2. Ajax引擎 ajax請(qǐng)求步驟詳細(xì)代碼3. Java構(gòu)建JDBC應(yīng)用程序的實(shí)例操作4. Spring應(yīng)用拋出NoUniqueBeanDefinitionException異常的解決方案5. ThinkPHP5 通過ajax插入圖片并實(shí)時(shí)顯示(完整代碼)6. javascript設(shè)計(jì)模式 ? 建造者模式原理與應(yīng)用實(shí)例分析7. 一篇文章帶你了解JavaScript-對(duì)象8. Python使用oslo.vmware管理ESXI虛擬機(jī)的示例參考9. IntelliJ IDEA設(shè)置條件斷點(diǎn)的方法步驟10. Express 框架中使用 EJS 模板引擎并結(jié)合 silly-datetime 庫(kù)進(jìn)行日期格式化的實(shí)現(xiàn)方法
