java中通过实现callable接口来创建一个1到100的累加和的线程
时间: 2023-06-23 07:07:56 浏览: 119
可以通过实现Callable接口来创建一个1到100的累加和的线程,具体实现如下:
```java
import java.util.concurrent.Callable;
public class SumCallable implements Callable<Integer> {
@Override
public Integer call() throws Exception {
int sum = 0;
for (int i = 1; i <= 100; i++) {
sum += i;
}
return sum;
}
}
```
在上面的代码中,我们实现了Callable接口,并重写了call()方法,该方法返回一个Integer类型的结果,表示1到100的累加和。在call()方法中,我们使用一个for循环来计算累加和,最后返回结果。
接下来,我们可以在主线程中创建一个线程池,并提交SumCallable实例来执行:
```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) throws Exception {
// 创建一个线程池
ExecutorService executorService = Executors.newSingleThreadExecutor();
// 提交SumCallable实例,获取Future对象
Future<Integer> future = executorService.submit(new SumCallable());
// 阻塞等待计算结果
int sum = future.get();
// 关闭线程池
executorService.shutdown();
// 输出结果
System.out.println("1到100的累加和为:" + sum);
}
}
```
在上面的代码中,我们使用了一个线程池来执行SumCallable实例,并通过Future对象来获取计算结果。最后,我们关闭了线程池,并输出了计算结果。
阅读全文