美文网首页
Callable 接口创建线程 可以有返回值

Callable 接口创建线程 可以有返回值

作者: zheting | 来源:发表于2018-03-12 06:39 被阅读31次
  • Java 5.0 在 java.util.concurrent 提供了一个新的创建执行线程的方式:Callable 接口
  • Callable 接口类似于 Runnable,两者都是为那些 其实例 可能被另一个线程执行的类设计的。但是 Runnable 不会返回结果,并且无法抛出经过检查的异常。
  • Callable 需要依赖FutureTask ,FutureTask 也可以用作闭锁

Callable 接口实现的线程可以有返回值和抛出异常

package com.sheting.concurrent.callable;

import java.util.concurrent.Callable;
import java.util.concurrent.ExecutionException;
import java.util.concurrent.FutureTask;

/**
 * Create Time: 2018-03-09 10:41
 *
 * @author sheting
 */
public class TestCallable {

    public static void main(String[] args) {

        ThreadDemo threadDemo = new ThreadDemo();

        //执行Callable,需要FutureTask实现类的支持,用于接受运算的结果。FutureTask是Future接口的实现类。
        FutureTask<Integer> result = new FutureTask<>(threadDemo);

        //启动线程
        new Thread(result).start();

        try {
            //获取线程运算后的结果
            Integer sum = result.get();
            System.out.println(sum);
        } catch (InterruptedException e) {
            e.printStackTrace();
        } catch (ExecutionException e) {
            e.printStackTrace();
        }
    }
}

class ThreadDemo implements Callable<Integer> {

    @Override
    public Integer call() throws Exception {
        int sum = 0;
        for (int i = 1; i <= 100; i++) {
            sum += i;
        }
        return sum;
    }
}

相关文章

  • 2018-09-28

    java 通过 Callable 和 Future 创建带有返回值的线程 1. 创建 Callable 接口的实现...

  • Thread线程一览

    创建线程的三种方式: 继承Thread类 实现Runnable接口 实现了Callable接口(有返回值的线程) ...

  • Callable 接口创建线程 可以有返回值

    Java 5.0 在 java.util.concurrent 提供了一个新的创建执行线程的方式:Callable...

  • Java多线程基础补充

    使用Callable接口和FutureTask来创建线程 创建Callable的实现类,实现call方法,可以直接...

  • 创建线程的几种方式

    继承Thread类 实现Runnable接口 通过Callable创建线程(异步,可以返回结果) 线程池创建

  • 六号线晚报0523

    天气:晴 风力:微风 callable 1.callable是一个可以带返回值的多线程接口,类似runnable,...

  • JDK5.0新增线程创建方式

    创建线程的方式三 实现Callable接口。 --- JDK 5.0新增 如何实现Callable接口 1.创建一...

  • Java线程池

    Callable 和 Runable都是启动一个线程, 不过Callable可以有返回值 结果:

  • java 创建线程的几种方式

    继承Thread类创建线程类 通过Runable接口创建线程类 通过Callable和FutureTask创建线程...

  • 14,线程1-定义线程的方式

    1,继承Thread类创建线程: 2,实现Runnable接口创建线程 3,实现Callable接口通过Futur...

网友评论

      本文标题:Callable 接口创建线程 可以有返回值

      本文链接:https://www.haomeiwen.com/subject/nklpfftx.html