• Java用FutureTask实现又返回值的线程


    要实现有返回值的多线程,具体代码如下:

    package thread;
    
    import java.util.concurrent.Callable;
    import java.util.concurrent.ExecutionException;
    import java.util.concurrent.FutureTask;
    
    public class App {
    
        public static class MySum implements Callable<Integer> {
    
            @Override
            public Integer call() throws Exception {
                System.out.println("准备计算");
                Thread.sleep(2000);
                int sum = 0;
                for (int i = 0; i < 5000; i++) {
                    sum += i;
                }
                System.out.println("计算结果:" + sum);
                return sum;
            }
    
        }
    
        public static void main(String[] args) throws InterruptedException, ExecutionException {
            MySum mysum=new MySum();
            FutureTask<Integer> futureTask=new FutureTask<>(mysum);
            new Thread(futureTask).start();
            System.out.println("主线程的最终结果是:"+futureTask.get());
        }
    
    }

    1.FutureTask实现了接口Runnable,所以可以传入到线程中执行

    2.futureTask.get()是一个阻塞方法

    3.Callable<Integer>中的Integer表示返回的数据类型

  • 相关阅读:
    textarea组件
    switch组件
    slider组件
    radio组件
    picker-view组件
    picker组件 label组件讲解
    weui 框架
    微信小程序 input 组件
    在php中获取 数据库的内容,返回到页面
    微信小程序 form 组件
  • 原文地址:https://www.cnblogs.com/duanjt/p/9715664.html
Copyright © 2020-2023  润新知