java多线程callable接口 Java多线程Callable接口实现代码示例
于亮 人气:0想了解Java多线程Callable接口实现代码示例的相关内容吗,于亮在本文为您仔细讲解java多线程callable接口的相关知识和一些Code实例,欢迎阅读和指正,我们先划重点:java,多线程,示例,java,多线程调用接口,java,多线程,callable接口,下面大家一起来学习吧。
对于多线程,大家并不陌生,对于如何创建线程也是轻车熟路,对于使用new thread和实现runable接口的方式,不再多说。这篇博文我们介绍第三种:实现Callable接口。
Callable接口
接口定义:
@FunctionalInterface public interface Callable<V> { V call() throws Exception; }
从Callable的定义可以看出:
Callable接口类似于Runnable,两者都是为那些其实例可能被另一个线程执行的类设计的,方法可以有返回值,并且可以抛出异常。但是Runnable不行。
Callable需要依赖FutureTask,用于接收运算结果。一个产生结果,一个拿到结果。FutureTask是Future接口的实现类,也可以用作闭锁。
简单实例
计算0到100相加,返回结果。
public class TestCallable { public static void main(String[] args) { CallableThreadDemo ctd = new CallableThreadDemo(); //1.执行Callable方式,需要FutureTask实现类的支持,用于接收运算结果 FutureTask<Integer> result = new FutureTask<Integer>(ctd); new Thread(result).start(); //2.接收线程运算后的结果 try { Integer sum = result.get(); //FutureTask 可用于闭锁 System.out.println(sum); } catch (InterruptedException | ExecutionException e) { e.printStackTrace(); } } } class CallableThreadDemo implements Callable<Integer>{ @Override public Integer call() throws Exception { int sum = 0; for (int i = 0; i <= 100; i++) { sum += i; } return sum; } }
总结
Callable接口其实特别简单,在多线程环境中,返回结果。
希望本文所述对大家了解多线程及callable接口有所帮助。感兴趣的朋友可以继续参阅本站:浅谈Java面向接口编程、Java编程接口回调一般用法代码解析等。感谢大家对本站的支持!
加载全部内容