一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|JAVA教程|ASP教程|

服務器之家 - 編程語言 - JAVA教程 - java多線程返回值使用示例(callable與futuretask)

java多線程返回值使用示例(callable與futuretask)

2019-11-18 14:39Java教程網 JAVA教程

這篇文章主要介紹了多線程返回值使用示例(callable與futuretask),需要的朋友可以參考下

Callable接口類似于Runnable,從名字就可以看出來了,但是Runnable不會返回結果,并且無法拋出返回結果的異常,而Callable功能更強大一些,被線程執行后,可以返回值,這個返回值可以被Future拿到,也就是說,Future可以拿到異步執行任務的返回值,下面來看一個簡單的例子

 

復制代碼代碼如下:


package com.future.test;

 

import java.io.FileNotFoundException;
import java.io.IOException;
import java.util.concurrent.Callable;
import java.util.concurrent.ExecutionException;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.FutureTask;
import java.util.concurrent.TimeUnit;
import java.util.concurrent.TimeoutException;

public class MyTest {

 // 接收在run方法中捕獲的異常,然后自定義方法拋出異常
    //private static Throwable exception;
 /**
  * @param args
  */
 public static void main(String[] args) {
  // TODO Auto-generated method stub
  String result = "";
  ExecutorService executor = Executors.newSingleThreadExecutor();  
  FutureTask<String> future =  
         new FutureTask<String>(new Callable<String>() {//使用Callable接口作為構造參數  
           public String call() {  
             //真正的任務在這里執行,這里的返回值類型為String,可以為任意類型
            try {
      Thread.sleep(10000);
     } catch (InterruptedException e) {
      // TODO Auto-generated catch block
      //exception = e;
      //e.printStackTrace();
     }
           return "11111";
         }});  
  executor.execute(future);  
  //在這里可以做別的任何事情  
  try {  
      result = future.get(5000, TimeUnit.MILLISECONDS); //取得結果,同時設置超時執行時間為5秒。同樣可以用future.get(),不設置執行超時時間取得結果  
  } catch (InterruptedException e) { 
   //System.out.println("任務已經取消");
   future.cancel(true);  
  } catch (ExecutionException e) {  
   future.cancel(true);  
  } catch (TimeoutException e) {  
   future.cancel(true);  
  } finally {  
      executor.shutdown();  
  }  
  System.out.println("result:"+result);
 }

 /* public void throwException() throws FileNotFoundException, IOException {
         if (exception instanceof FileNotFoundException)
             throw (FileNotFoundException) exception;
         if (exception instanceof IOException)
             throw (IOException) exception;
     }*/


}

 

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 天作谜案免费完整版在线观看 | 欧美国产在线观看 | 国产普通话对白露脸流出 | 日韩欧美精品一区二区 | 男人天堂色 | asianfemdom冷柔女王 | 国产精品女主播大秀在线 | 青涩体验在线观看未删减 | 91国内精品久久久久影院优播 | 日韩亚洲欧美理论片 | x8x8在线观看| 日本人成在线视频免费播放 | 日韩在线 中文字幕 | 国产午夜免费不卡精品理论片 | 我和子伦系列小说 | 成年视频在线观看免费 | 大伊香蕉精品二区视频在线 | 风间由美在线播放 | 女人被爽到呻吟娇喘的视频动态图 | 私人家庭影院5577 | 国产日韩欧美成人 | www.俺去啦 | 成年人在线观看免费视频 | 9热在线精品视频观看 | 欧美色阁 | 男人肌肌捅女人 | 国产第一福利 | 日本乱人伦中文在线播放 | 色婷婷影院在线视频免费播放 | 男男按摩1069gⅴ | 日本手机在线视频 | a级毛片毛片免费观看永久 a级黄色片免费 | 成年人免费在线看的惊悚动作片 | 青青青国产手机在线播放 | 粉嫩极品国产在线观看免费 | 国产白白视频在线观看2 | 婚前试爱全集免费观看 | 国模大胆一区二区三区 | 男人捅女人漫画 | 精品一成人岛国片在线观看 | 国产成+人+综合+欧美 亚洲 |