import java.util.concurrent.Callable; import java.util.concurrent.ExecutionException; import java.util.concurrent.FutureTask; /** * 实现Callable接口 jdk5.0新增 * 重写Cal方法 * call方法可以有返回值 * call方法可以抛出异常 * Callable是支持泛型的 */ // public class testTwo { public static void main(String[] args) { //创建Callable接口实现类的对象 Window window = new Window(); //将此Callable接口实现类的对象传递到FutureTask构造器中 创建FutureTask的对象 FutureTask futureTask = new FutureTask(window); //将FutureTask的对象作为参数传递到Tread类的构造器中 创建Tread对象 并start() new Thread(futureTask).start(); try { //get返回值即为FutueTask构造器参数Callable实现类重写的call()的返回值 Object sum= futureTask.get(); System.out.println(sum); } catch (InterruptedException e) { e.printStackTrace(); } catch (ExecutionException e) { e.printStackTrace(); } } } //1.创建一个实现Callable 方法的实现类 class Window implements Callable { //实现call方法 将此线程需要执行的操作声明在call中 @Override public Object call() throws Exception { int sum = 0; for (int i = 1; i <= 100; i++) { if (i % 2 == 0) { System.out.println(i); sum = sum + i; } } return sum; } }
Java 实现Callable接口的方式创建多线程
最新推荐文章于 2025-03-18 16:29:41 发布