java接口使用多线程
时间: 2023-11-27 09:42:48 浏览: 91
使用Callable接口创建多线程与使用Runnable接口创建多线程相比,有一些不同之处。Callable接口中的call()方法可以返回一个结果,而Runnable接口中的run()方法则没有返回值。此外,Callable接口可以抛出异常,而Runnable接口不能。为了执行Callable接口中的任务,可以使用ExecutorService的submit()方法,该方法会返回一个Future对象,可以用来获取任务的结果。
下面是使用Callable接口创建多线程的示例代码:
```java
import java.util.concurrent.Callable;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.Future;
public class MyCallable implements Callable<String> {
@Override
public String call() throws Exception {
// 在这里编写多线程的逻辑
return "Hello, World!";
}
}
public class Main {
public static void main(String[] args) throws Exception {
// 创建线程池
ExecutorService executorService = Executors.newFixedThreadPool(5);
// 提交任务并获取Future对象
Future<String> future = executorService.submit(new MyCallable());
// 获取任务的结果
String result = future.get();
// 关闭线程池
executorService.shutdown();
System.out.println(result);
}
}
```
阅读全文