国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

Think In Java 讀書筆記:Concurrency

DevTTL / 949人閱讀

摘要:類是一種有效的廣泛使用的以工作隊列為基礎的的線程池的正確實現,無須嘗試編寫自己的線程池這樣容易出錯。是并發編程庫新添加的類它提供的方法可以返回各線程的返回值與接口類似于但是無法返回結果也無法返回異常。返回的結果可以被拿到。

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

相關文章

  • Java8實戰》-第三章讀書筆記(Lambda表達式-01)

    摘要:之前,使用匿名類給蘋果排序的代碼是的,這段代碼看上去并不是那么的清晰明了,使用表達式改進后或者是不得不承認,代碼看起來跟清晰了。這是由泛型接口內部實現方式造成的。 # Lambda表達式在《Java8實戰》中第三章主要講的是Lambda表達式,在上一章節的筆記中我們利用了行為參數化來因對不斷變化的需求,最后我們也使用到了Lambda,通過表達式為我們簡化了很多代碼從而極大地提高了我們的...

    longshengwang 評論0 收藏0
  • java 8 實戰》讀書筆記 -第三章 Lambda表達式

    摘要:利用前面所述的方法,這個例子可以用方法引用改寫成下面的樣子構造函數引用對于一個現有構造函數,你可以利用它的名稱和關鍵字來創建它的一個引用。 第三章 Lambda表達式 函數式接口 函數式接口就是只定義一個抽象方法的接口,哪怕有很多默認方法,只要接口只定義了一個抽象方法,它就仍然是一個函數式接口。 常用函數式接口 showImg(https://segmentfault.com/img...

    whinc 評論0 收藏0
  • java 8 實戰》讀書筆記 -第十三章 函數式的思考

    摘要:當我們希望能界定這二者之間的區別時,我們將第一種稱為純粹的函數式編程,后者稱為函數式編程。函數式編程我們的準則是,被稱為函數式的函數或方法都只能修改本地變量。另一種觀點支持引用透明的函數式編程,認為方法不應該有對外部可見的對象修改。 一、實現和維護系統 1.共享的可變數據 如果一個方法既不修改它內嵌類的狀態,也不修改其他對象的狀態,使用return返回所有的計算結果,那么我們稱其為純粹...

    Donne 評論0 收藏0
  • 走入并行世界

    摘要:無鎖無鎖的并行都是無障礙的,但不同的是無鎖的并發保證了必然有一個線程能夠在有限步驟內離開臨界區。有關并行的兩個重要定律未完待續實戰高并發程序設計第一章走入并行世界讀書筆記歡迎加入咖啡館的春天。 必須知道的幾個概念 同步(Synchronous)和異步(Asynchronous) 同步方法調用一旦開始,調用者必須等待方法調用返回后才能繼續后續行為。異步方法調用更像一個消息傳遞,一旦開始就...

    Coding01 評論0 收藏0

發表評論

0條評論

DevTTL

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<