• Java Callable使用


    1. 创建线程的三种方式:

    • 继承Thread,重写run方法
    • 实现Runnable接口,重新run方法
    • 实现Callable接口,重写call方法

    2. Callable接口实际上是属于Executor框架中的功能类,Callable接口与Runnable接口的功能类似,但提供了比Runnable更加强大的功能。

    • Callable可以在任务结束的时候提供一个返回值,Runnable无法提供这个功能
    • Callable的call方法分可以抛出异常,而Runnable的run方法不能抛出异常。

    3. 实例

    复制代码
    package thread.learn;
    
    import java.util.concurrent.Callable;
    import java.util.concurrent.ExecutorService;
    import java.util.concurrent.Executors;
    import java.util.concurrent.Future;
    
    /**
     * Created by liujinhong on 2017/3/6.
     */
    public class CallableAndFuture {
        static class MyThread implements Callable<String> {
            @Override
            public String call() throws Exception {
                return "Hello world";
            }
        }
    
        static class MyThread2 implements Runnable {
            @Override
            public void run() {
    
            }
        }
    
        public static void main(String[] args) {
            ExecutorService threadPool = Executors.newSingleThreadExecutor();
            Future<String> future = threadPool.submit(new MyThread());
    
            try {
                System.out.println(future.get());
            } catch (Exception e) {
    
            } finally {
                threadPool.shutdown();
            }
        }
    }
    复制代码
     
    from: https://www.cnblogs.com/liujinhong/p/6510667.html
  • 相关阅读:
    软件测试——一点看法
    软件测试——注意事项
    软件测试——Peer Review
    软件测试——白盒测试
    软件测试——闰年检测程序及异常问题解决
    JS动态,有选择性的改变div颜色
    软件测试——EditBox等价类划分扩展
    软件测试——EditBox等价类划分
    初窥软件测试
    开博第一篇
  • 原文地址:https://www.cnblogs.com/GarfieldEr007/p/10166046.html
走看看 - 开发者的网上家园