摘要:類是一種有效的廣泛使用的以工作隊列為基礎的的線程池的正確實現,無須嘗試編寫自己的線程池這樣容易出錯。是并發編程庫新添加的類它提供的方法可以返回各線程的返回值與接口類似于但是無法返回結果也無法返回異常。返回的結果可以被拿到。
package com.snda.sync.impl.test; import java.util.ArrayList; import java.util.concurrent.*; /** * Executor類是一種有效的廣泛使用的以工作隊列為基礎的的線程池的正確實現,無須嘗試編寫自己的線程池,這樣容易出錯。 * Callable是并發編程庫Concurrent新添加的類,它提供的call()方法可以返回各線程的返回值 * Callable 與 future :http://blog.csdn.net/ghsau/article/details/7451464 * Callable 接口類似于Runnable但是Callable無法返回結果也無法返回異常。Callable返回的結果可以被Future拿到。 * 通過submit來執行Callable線程并取得線程的返回值 * * 在Java中如果需要設定代碼執行的最長時間,即超時,可以用Java的ExecutorService 類配合Future接口來實現,Future接口 * 是Java線程的Future模式的實現,可以來進行異步運算。 * Created by xuyifei on 14-4-22. */ class TaskWithResult implements Callable{ private int id; public TaskWithResult(int id) { this.id = id; } @Override public String call() throws Exception { return "result of TaskWithResult " + id; } } public class CallableDemo { public static void main(String[] args) { ExecutorService exec = Executors.newCachedThreadPool(); ArrayList > results = new ArrayList<>(); for (int i = 0; i < 10; i++) { results.add(exec.submit(new TaskWithResult(i))); } for (Future fs : results) { try { System.out.println(fs.get()); } catch (InterruptedException e) { e.printStackTrace(); } catch (ExecutionException e) { e.printStackTrace(); } finally { exec.shutdown(); } } } }
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/64089.html
摘要:之前,使用匿名類給蘋果排序的代碼是的,這段代碼看上去并不是那么的清晰明了,使用表達式改進后或者是不得不承認,代碼看起來跟清晰了。這是由泛型接口內部實現方式造成的。 # Lambda表達式在《Java8實戰》中第三章主要講的是Lambda表達式,在上一章節的筆記中我們利用了行為參數化來因對不斷變化的需求,最后我們也使用到了Lambda,通過表達式為我們簡化了很多代碼從而極大地提高了我們的...
摘要:利用前面所述的方法,這個例子可以用方法引用改寫成下面的樣子構造函數引用對于一個現有構造函數,你可以利用它的名稱和關鍵字來創建它的一個引用。 第三章 Lambda表達式 函數式接口 函數式接口就是只定義一個抽象方法的接口,哪怕有很多默認方法,只要接口只定義了一個抽象方法,它就仍然是一個函數式接口。 常用函數式接口 showImg(https://segmentfault.com/img...
摘要:當我們希望能界定這二者之間的區別時,我們將第一種稱為純粹的函數式編程,后者稱為函數式編程。函數式編程我們的準則是,被稱為函數式的函數或方法都只能修改本地變量。另一種觀點支持引用透明的函數式編程,認為方法不應該有對外部可見的對象修改。 一、實現和維護系統 1.共享的可變數據 如果一個方法既不修改它內嵌類的狀態,也不修改其他對象的狀態,使用return返回所有的計算結果,那么我們稱其為純粹...
閱讀 2101·2021-11-18 10:02
閱讀 2850·2021-09-04 16:41
閱讀 1142·2019-08-30 15:55
閱讀 1405·2019-08-29 17:27
閱讀 1070·2019-08-29 17:12
閱讀 2535·2019-08-29 15:38
閱讀 2855·2019-08-29 13:02
閱讀 2831·2019-08-29 12:29