摘要:類是一種有效的廣泛使用的以工作隊列為基礎(chǔ)的的線程池的正確實現(xiàn),無須嘗試編寫自己的線程池這樣容易出錯。是并發(fā)編程庫新添加的類它提供的方法可以返回各線程的返回值與接口類似于但是無法返回結(jié)果也無法返回異常。返回的結(jié)果可以被拿到。
package com.snda.sync.impl.test; import java.util.ArrayList; import java.util.concurrent.*; /** * Executor類是一種有效的廣泛使用的以工作隊列為基礎(chǔ)的的線程池的正確實現(xiàn),無須嘗試編寫自己的線程池,這樣容易出錯。 * Callable是并發(fā)編程庫Concurrent新添加的類,它提供的call()方法可以返回各線程的返回值 * Callable 與 future :http://blog.csdn.net/ghsau/article/details/7451464 * Callable 接口類似于Runnable但是Callable無法返回結(jié)果也無法返回異常。Callable返回的結(jié)果可以被Future拿到。 * 通過submit來執(zhí)行Callable線程并取得線程的返回值 * * 在Java中如果需要設(shè)定代碼執(zhí)行的最長時間,即超時,可以用Java的ExecutorService 類配合Future接口來實現(xiàn),Future接口 * 是Java線程的Future模式的實現(xiàn),可以來進行異步運算。 * 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(); } } } }
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://m.hztianpu.com/yun/64089.html
摘要:之前,使用匿名類給蘋果排序的代碼是的,這段代碼看上去并不是那么的清晰明了,使用表達式改進后或者是不得不承認(rèn),代碼看起來跟清晰了。這是由泛型接口內(nèi)部實現(xiàn)方式造成的。 # Lambda表達式在《Java8實戰(zhàn)》中第三章主要講的是Lambda表達式,在上一章節(jié)的筆記中我們利用了行為參數(shù)化來因?qū)Σ粩嘧兓男枨?,最后我們也使用到了Lambda,通過表達式為我們簡化了很多代碼從而極大地提高了我們的...
摘要:利用前面所述的方法,這個例子可以用方法引用改寫成下面的樣子構(gòu)造函數(shù)引用對于一個現(xiàn)有構(gòu)造函數(shù),你可以利用它的名稱和關(guān)鍵字來創(chuàng)建它的一個引用。 第三章 Lambda表達式 函數(shù)式接口 函數(shù)式接口就是只定義一個抽象方法的接口,哪怕有很多默認(rèn)方法,只要接口只定義了一個抽象方法,它就仍然是一個函數(shù)式接口。 常用函數(shù)式接口 showImg(https://segmentfault.com/img...
摘要:當(dāng)我們希望能界定這二者之間的區(qū)別時,我們將第一種稱為純粹的函數(shù)式編程,后者稱為函數(shù)式編程。函數(shù)式編程我們的準(zhǔn)則是,被稱為函數(shù)式的函數(shù)或方法都只能修改本地變量。另一種觀點支持引用透明的函數(shù)式編程,認(rèn)為方法不應(yīng)該有對外部可見的對象修改。 一、實現(xiàn)和維護系統(tǒng) 1.共享的可變數(shù)據(jù) 如果一個方法既不修改它內(nèi)嵌類的狀態(tài),也不修改其他對象的狀態(tài),使用return返回所有的計算結(jié)果,那么我們稱其為純粹...
閱讀 2215·2021-11-18 10:02
閱讀 2933·2021-09-04 16:41
閱讀 1246·2019-08-30 15:55
閱讀 1496·2019-08-29 17:27
閱讀 1293·2019-08-29 17:12
閱讀 2641·2019-08-29 15:38
閱讀 2966·2019-08-29 13:02
閱讀 2915·2019-08-29 12:29