Callable接口与Lock锁
Callable
接口
和Runnable有什么区别?**
- 方法可以有返回值并且能抛出异常
- 使用时需要
FutureTask
实现类支持,用于接收运算结果
可以通过FutureTask
来获得线程执行完的最终结果
直接看下面一段代码
import java.util.concurrent.*;
public class TestCallable {
public static void main(String[] args)
{
ThreadDemo td= new ThreadDemo();
//用 FutureTask 接收结果
FutureTask<Integer> result = new FutureTask<>(td);
new Thread(result).start();
//接收运算结果
try {
Integer sum = result.get();
System.out.println("1-100的和为:"+ sum);
} catch (InterruptedException e) {
e.printStackTrace();
} catch (ExecutionException e) {
e.printStackTrace();