Java多线程三:多线程的创建三之实现Callable接口-----JDk5.0新增

一、实现Callable接口步骤

1.创建一个实现callable的实现类
2.实现call方法,将此线程需要执行的操作声明在call()中
3.创建callable接口实现类对象
4.将此Callable接口实现类的对象作为参数传递到FutureTask构造器中,创建FutureTask的对象
5.将FutureTask的对象作为参数传递到Thread类的构造器中,创建Thread对象,并start()
6.获取Callable中call方法的返回值

 

二、例子:遍历100以内的偶数

class NumC implements Callable {
    @Override
    public Object call() throws Exception {
        int sum=0;
        for (int i = 0; i < 100; i++) {
            if(i%2==0){
                System.out.println(i);
                sum +=i;
            }
        }
        return sum;
    }
}
public class CallableTest {
    public static void main(String[] args) {
        NumC numc=new NumC();

        FutureTask futureTask = new FutureTask<>(numc);

        Thread t1 = new Thread(futureTask);

        t1.start();

        try {
            //get()返回值即为FutureTask构造器参数callable实现类重写的call()的返回值
            Object sum=futureTask.get();
            System.out.println(sum);
        } catch (InterruptedException e) {
            e.printStackTrace();
        } catch (ExecutionException e) {
            e.printStackTrace();
        }
    }
}

  

 

posted @ 2021-07-22 15:32  Cozy11  阅读(51)  评论(0)    收藏  举报