老熟女激烈的高潮_日韩一级黄色录像_亚洲1区2区3区视频_精品少妇一区二区三区在线播放_国产欧美日产久久_午夜福利精品导航凹凸

重慶分公司,新征程啟航

為企業(yè)提供網(wǎng)站建設(shè)、域名注冊(cè)、服務(wù)器等服務(wù)

Java并發(fā)編程Callable與Future的應(yīng)用實(shí)例代碼

本文主要探究的是java并發(fā)編程callable與future的使用,分享了相關(guān)實(shí)例代碼,具體介紹如下。

十載的瀘溪網(wǎng)站建設(shè)經(jīng)驗(yàn),針對(duì)設(shè)計(jì)、前端、開(kāi)發(fā)、售后、文案、推廣等六對(duì)一服務(wù),響應(yīng)快,48小時(shí)及時(shí)工作處理。全網(wǎng)整合營(yíng)銷(xiāo)推廣的優(yōu)勢(shì)是能夠根據(jù)用戶(hù)設(shè)備顯示端的尺寸不同,自動(dòng)調(diào)整瀘溪建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無(wú)論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設(shè)計(jì),從而大程度地提升瀏覽體驗(yàn)。創(chuàng)新互聯(lián)公司從事“瀘溪網(wǎng)站設(shè)計(jì)”,“瀘溪網(wǎng)站推廣”以來(lái),每個(gè)客戶(hù)項(xiàng)目都認(rèn)真落實(shí)執(zhí)行。

我們都知道實(shí)現(xiàn)多線程有2種方式,一種是繼承Thread,一種是實(shí)現(xiàn)Runnable,但這2種方式都有一個(gè)缺陷,在任務(wù)完成后無(wú)法獲取返回結(jié)果。要想獲得返回結(jié)果,就得使用Callable,Callable任務(wù)可以有返回值,但是沒(méi)法直接從Callable任務(wù)里獲取返回值;想要獲取Callabel任務(wù)的返回值,需要用到Future。所以Callable任務(wù)和Future模式,通常結(jié)合起來(lái)使用。

試想一個(gè)場(chǎng)景:需要一個(gè)帖子列表接口,除了需要返回帖子列表之外,還需要返回每條帖子的點(diǎn)贊列表和評(píng)論列表。一頁(yè)10條帖子來(lái)計(jì)算,這個(gè)接口需要訪問(wèn)21次數(shù)據(jù)庫(kù),訪問(wèn)一次數(shù)據(jù)庫(kù)按100ms計(jì)算,21次,累計(jì)時(shí)間為2.1s。這個(gè)響應(yīng)時(shí)間,怕是無(wú)法令人滿(mǎn)意的。怎么辦呢?異步化改造接口。

查出帖子列表后,迭代帖子列表,在循環(huán)里起10個(gè)線程,并發(fā)去獲取每條帖子的點(diǎn)贊列表,同時(shí)另起10個(gè)線程,并發(fā)去獲取每條帖子的評(píng)論列表。這樣改造之后,接口的響應(yīng)時(shí)間大大縮短,在200ms。這個(gè)時(shí)候就要用Callabel結(jié)合Future來(lái)實(shí)現(xiàn)。

private List createPostResponseList(Page page,final String userId){ 
    if(page.getCount()==0||page==null||page.getList()==null){ 
      return null; 
    } 
    //獲取帖子列表 
    List circleResponseList = page.getList(); 
    int size=circleResponseList.size(); 
    ExecutorService commentPool = Executors.newFixedThreadPool(size); 
    ExecutorService supportPool = Executors.newFixedThreadPool(size); 
    try { 
      List commentFutureList = new ArrayList(size); 
      if (circleResponseList != null && circleResponseList.size() > 0) { 
        for (PostResponse postResponse : circleResponseList) { 
          final String circleId=postResponse.getId(); 
          final String postUserId=postResponse.getUserId(); 
          //查評(píng)論列表 
          Callable> callableComment = new Callable>() { 
            @Override 
            public List call() throws Exception { 
              return circleReviewsBiz.getPostComments(circleId); 
            } 
          }; 
          Future f = commentPool.submit(callableComment); 
          commentFutureList.add(f); 
          //查點(diǎn)贊列表 
          Callable> callableSupport = new Callable>() { 
            @Override 
            public List call() throws Exception { 
              return circleZanBiz.findList(circleId); 
            } 
          }; 
          Future supportFuture = supportPool.submit(callableSupport); 
          commentFutureList.add(supportFuture); 
        } 
 
      } 
      // 獲取所有并發(fā)任務(wù)的執(zhí)行結(jié)果 
      int i = 0; 
      PostResponse temp = null; 
      for (Future f : commentFutureList) { 
        temp = circleResponseList.get(i); 
        temp.setCommentList((List) f.get(); 
        temp.setSupportList((List) f.get(); 
        circleResponseList.set(i, temp); 
        i++; 
      } 
 
    } catch (Exception e) { 
      e.printStackTrace(); 
    } finally { 
      // 關(guān)閉線程池 
      commentPool.shutdown(); 
      supportPool.shutdown(); 
    } 
    return circleResponseList; 
} 

總結(jié)

以上就是本文關(guān)于Java并發(fā)編程Callable與Future的應(yīng)用實(shí)例代碼的全部?jī)?nèi)容,希望對(duì)大家有所幫助。感興趣的朋友可以繼續(xù)參閱本站其他相關(guān)專(zhuān)題,如有不足之處,歡迎留言指出。感謝朋友們對(duì)本站的支持!


新聞標(biāo)題:Java并發(fā)編程Callable與Future的應(yīng)用實(shí)例代碼
轉(zhuǎn)載來(lái)源:http://www.xueling.net.cn/article/iejgpe.html

其他資訊

在線咨詢(xún)
服務(wù)熱線
服務(wù)熱線:028-86922220
TOP
主站蜘蛛池模板: 日本中文在线一区 | 亚洲情黄网站在线视频 | 麻豆视频在线观看免费网站黄 | 午夜伦4480yy私人影院免费 | 丝袜美女被出水一区 | 亚洲国产综合在线观看 | 久久久久久a | 三级视频在线观看 | 久久久久精品无码专区 | 日韩欧美精品在线不卡 | 亚洲成a人 | 日本一区二区视频免费 | 国内免费精品视频 | 中文字幕一区二区三区在线观看 | 午夜福利在线观看老司机 | 视频在线观看一区二区三区 | 午夜福利在线观看老司机 | 国产精品久久久aaa 好湿好紧太硬了我太爽了视频 | 无码av免费一区二区三区 | 狼人青草久久网伊人 | 麻豆久久久久久 | 黄色成年人国语版在线观看 | 变态孕交videosgratis孕妇 | 免费人妻无码不卡中文字幕系列 | 影音先锋男人在线资源资源网 | 久久55| 久久综合伊人77777 | 中国美女毛茸茸撒尿 | 特级毛片在线播放 | 国产日产亚洲系列最新 | 免费国产A国产片高清网站 亚洲AV日韩AV男人的天堂在线 | 北条麻纪在线观看aⅴ | 中文字幕在线永久在线视频 | 超碰中文字幕 | 日本韩国黄色一区二区三区 | 亚洲日韩精品欧美一区二区 | 伊人75在线 | 精品无人区一码二码三码四码小说 | 自拍偷拍中文字幕 | 一极毛片 | 亚洲AV永久中文无码精品 |