本文小編為大家詳細(xì)介紹“如何分頁處理java多線程的數(shù)據(jù)”,內(nèi)容詳細(xì),步驟清晰,細(xì)節(jié)處理妥當(dāng),希望這篇“如何分頁處理java多線程的數(shù)據(jù)”文章能幫助大家解決疑惑,下面跟著小編的思路慢慢深入,一起來學(xué)習(xí)新知識(shí)吧。
成都創(chuàng)新互聯(lián)公司堅(jiān)持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:成都做網(wǎng)站、網(wǎng)站制作、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時(shí)代的雙流網(wǎng)站設(shè)計(jì)、移動(dòng)媒體設(shè)計(jì)的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!
1.常見的分頁類型
傳統(tǒng)的:采用傳統(tǒng)的分頁方式,可以明確的獲取數(shù)據(jù)信息,如有多少條數(shù)據(jù),分多少頁顯示等。
下拉式:采用下拉式的分頁方式,一般無法獲取明確的數(shù)據(jù)數(shù)量相關(guān)的信息,但在分頁操作以后,仍然可以看到之前查詢的數(shù)據(jù)。
2.分頁式查詢邏輯
int pageSize = 100; int currentPageLength = 0; int pageIndex = 0; ExecutorService exe = newFixedThreadPool(Runtime.getRuntime().availableProcessors()); do { int offset = pageIndex * pageSize; ListtradeInfos = 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 ListtradeInfos; public TradeInfoProcesserTask (List _tradeInfos){ tradeInfos = _tradeInfos; } @Override public void run() { processTradeInfos(); } private void processTradeInfos(){ //do something with tradeInfos ..... } }
讀到這里,這篇“如何分頁處理java多線程的數(shù)據(jù)”文章已經(jīng)介紹完畢,想要掌握這篇文章的知識(shí)點(diǎn)還需要大家自己動(dòng)手實(shí)踐使用過才能領(lǐng)會(huì),如果想了解更多相關(guān)內(nèi)容的文章,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。