1. 程式人生 > >【多執行緒】——Runnable如何獲取執行緒執行結果?

【多執行緒】——Runnable如何獲取執行緒執行結果?

     由於Runnable裡的多執行緒是沒有返回結果的,那麼現在我想讓Runnable定義的多執行緒有返回結果和能夠拋

出異常該怎麼處理呢?

方案:

    在java中提供了一個多執行緒的框架 Executor,用它將Runnable包裝成一個Callable,這樣就有返回值和能

夠丟擲異常了,接下來看看具體是怎麼實現的。

具體實現:

程式碼:

public static Callable<Object> callable(Runnable task)//假設返回物件為Callable1
	

Public static <T> Callable<T> callable(Runnable task,T result) //假設返回物件 Callable2


FutureTask.get() = null (Callable1
FutureTask.get() = result (Callable2)

     以上兩種實現,返回的結果值不同,這樣就可以把Runnable包裝成有返回值的Callable!