多线程实现Callable接口怎么写
时间: 2024-05-06 15:20:08 浏览: 85
实现Callable接口需要实现call()方法,并返回一个泛型类型的结果。多线程可以使用ExecutorService.submit()方法执行Callable任务。
示例代码如下:
```java
import java.util.concurrent.Callable;
public class MyCallable implements Callable<String> {
@Override
public String call() throws Exception {
// 在这里编写需要执行的任务代码
return "任务执行完成";
}
}
```
在主函数中创建一个ExecutorService实例,并使用submit()方法执行MyCallable任务:
```java
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.Future;
public class Main {
public static void main(String[] args) {
ExecutorService executorService = Executors.newSingleThreadExecutor();
Future<String> future = executorService.submit(new MyCallable());
try {
String result = future.get();
System.out.println(result);
} catch (Exception e) {
e.printStackTrace();
} finally {
executorService.shutdown();
}
}
}
```
在这个示例中,MyCallable任务执行后返回一个String类型的结果。创建一个ExecutorService实例后,使用submit()方法执行MyCallable任务,并使用Future获取任务执行结果。最后关闭ExecutorService。
阅读全文