Java线程:新特征-有返回值的线程(转)
生活随笔
收集整理的這篇文章主要介紹了
Java线程:新特征-有返回值的线程(转)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
在Java5之前,線程是沒有返回值的,常常為了“有”返回值,破費周折,而且代碼很不好寫。或者干脆繞過這道坎,走別的路了。 現在Java終于有可返回值的任務(也可以叫做線程)了。 可返回值的任務必須實現Callable接口,類似的,無返回值的任務必須Runnable接口。 執行Callable任務后,可以獲取一個Future的對象,在該對象上調用get就可以獲取到Callable任務返回的Object了。 下面是個很簡單的例子: package codeFromWeb;import java.util.concurrent.Callable;
import java.util.concurrent.ExecutionException;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.Future;/*** @echo 2014-4-9 Java線程:有返回值的線程*/
public class TestThreadReturn {public static void main(String[] args) throws ExecutionException,InterruptedException {ExecutorService pool = Executors.newFixedThreadPool(2);Callable c1 = new MyCallable("A");Callable c2 = new MyCallable("B");Future f1 = pool.submit(c1);Future f2 = pool.submit(c2);System.out.println(">>>>>" + f1.get().toString() + "\n>>>>>"+ f2.get().toString());pool.shutdown();}
}class MyCallable implements Callable {private String oid;MyCallable(String oid) {this.oid = oid;}public Object call() {return oid + "任務返回的內容";}
} >>>A任務返回的內容
>>>B任務返回的內容
非常的簡單,要深入了解還需要看Callable和Future接口的API啊。
轉載于:https://www.cnblogs.com/echolxl/articles/3654642.html
總結
以上是生活随笔為你收集整理的Java线程:新特征-有返回值的线程(转)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: POST
- 下一篇: OSCHina技术导向:Java全文搜索