使用Callable和FutureTask创建线程
来源:互联网 发布:莫文蔚周星驰知乎 编辑:程序博客网 时间:2024/06/06 05:45
使用Callable和FutureTask,可以实现有返回值的线程创建,并且可以抛出异常:
package concurrent;import java.util.concurrent.Callable;import java.util.concurrent.ExecutionException;import java.util.concurrent.FutureTask;class CallableDemo implements Callable<Integer> { @Override public Integer call() throws Exception { // 计算1-100的和 int sum = 0; for (int i = 1; i <= 100; i++) sum += i; return sum; }}public class TestCallable { public static void main(String[] args) { CallableDemo cd = new CallableDemo(); // 使用Callable方式创建线程,需要FutureTask类的支持,用于接收运算结果,可以使用泛型指定返回值的类型 FutureTask<Integer> result = new FutureTask<>(cd); new Thread(result).start(); int sum = 0; // 接收运算结果 // 只有当该线程执行完毕后才会获取到运算结果,等同于闭锁的效果 try { sum = result.get(); } catch (InterruptedException e) { e.printStackTrace(); } catch (ExecutionException e) { e.printStackTrace(); } System.out.println("sum is " + sum); }}
0 0
- 使用Callable和FutureTask创建线程
- 线程 Callable FutureTask 入门
- 使用Callable和Future创建线程
- java中callable和futuretask使用
- Callable和Future、FutureTask的使用
- Callable和Future、FutureTask的使用
- Callable和Future、FutureTask的使用
- 创建线程的第三种方法-callable futureTask
- 三种Java创建线程的方式(Callable,FutureTask)
- 使用FutureTask和Callable创建可获取返回值的多线程
- Callable、Future和FutureTask
- Callable、Future和FutureTask
- Callable和Future、FutureTask
- Callable、Future和FutureTask
- Callable、Future和FutureTask
- Callable、Future和FutureTask
- Callable、Future和FutureTask
- Callable 和 FutureTask
- Git忽略规则及.gitignore规则不生效的解决办法
- Java中Vector和ArrayList的区别
- JS组件系列——表格组件神器:bootstrap table(三:终结篇,最后的干货福利)
- babel将es6转换成es5
- linux清空文件文本内容
- 使用Callable和FutureTask创建线程
- 高数Umaru系列(9)——哈士奇(01背包)
- jquery live()向现在及未来元素绑定事件
- Ajaxfileupload上传多张图片
- 如何实现Linux下高亮关键字的tail -f功能
- dll、Lib、obj、.h文件的区别与作用
- Xcode8上使用插件
- RxJava学习详解(二)
- 用Python BeautifulSoup写的一份多线程图片抓取的脚本