zoukankan      html  css  js  c++  java
  • 使用callable接口创建多线程

    package thread;

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

    /**
    * @auto dh
    * @create 2020-03-28-23:03
    */
    //1、实现Callable接口
    class Th008 implements Callable<Integer> {
    private Integer sum = 0;

    // 2、此线程需要操作的声明在call方法中
    @Override
    public Integer call() throws Exception {
    for (int i = 1; i <= 100; i++) {
    sum += i;
    }
    return sum;
    }
    }

    public class Thread008 {
    public static void main(String[] args) {
    // 3、创建Callable接口实现类的对象
    Th008 ts = new Th008();
    // 4、将callable接口实现类的对象作为参数传入到FutureTask构造器中。
    // FutureTask实现了runnable、Future接口
    FutureTask<Integer> futureTask = new FutureTask<>(ts);
    //5、将FutureTask实例对象作为参数传入创建的Thread构造器中
    new Thread(futureTask).start();
    try {
    // 获取callable中call方法的返回值
    Integer sum= futureTask.get();
    System.out.println("总和为"+sum);
    } catch (InterruptedException e) {
    e.printStackTrace();
    } catch (ExecutionException e) {
    e.printStackTrace();
    }

    }
    }
  • 相关阅读:
    敏感性分析与风险分析
    深入理解PHP之foreach
    PHP上传文件到七牛(Qiniu)
    Swoft 新手向教程
    HP下kafka的实践
    关于BOOTSTRAP的整理和理解
    win10 ubuntu 子系统安装php
    CentOS7 安装 PHP7.2
    PHP 锁机制
    深入理解PHP之strpos
  • 原文地址:https://www.cnblogs.com/kukai/p/12590176.html
Copyright © 2011-2022 走看看