在Java中,`Callable`接口是用于創建可返回結果并可能拋出異常的任務的一種方式。要使用`Callable`接口,您需要遵循
以下步驟:
1. 創建一個實現`Callable`接口的類,并實現`call()`方法。`call()`方法是在`Callable`任務執行時將被調用的方法。它可以
返回一個結果,并且可以聲明拋出異常。
```java
import java.util.concurrent.Callable;
public class MyCallable implements Callable
@Override
public String call() throws Exception {
// 在這里編寫任務邏輯
return "Hello, World!";
}
}
```
2. 創建一個`ExecutorService`對象,它負責管理線程池和任務的執行。
```java
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
public class Main {
public static void main(String[] args) throws Exception {
// 創建一個線程池,大小為10
ExecutorService executor = Executors.newFixedThreadPool(10);
// 創建Callable任務
Callable
// 提交任務給線程池執行,并獲得Future對象
Future
// 獲取任務執行結果
String result = future.get();
System.out.println(result);
// 關閉線程池
executor.shutdown();
}
}
```
在上面的示例中,我們首先創建了一個實現`Callable`接口的類`MyCallable`,并在其`call()`方法中定義了任務的邏輯。
然后,我們創建了一個線程池`ExecutorService`,并使用`submit()`方法將`MyCallable`任務提交給線程池。通過調用
`Future`對象的`get()`方法,我們可以獲取任務執行的結果。
請注意,`Callable`接口與`Runnable`接口相似,在一些情況下也可以使用`Runnable`來執行類似的任務。但是,`Callable`
允許您返回結果或拋出異常,而`Runnable`沒有這些功能。