博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
java多线程 -- 创建线程的第三者方式 实现Callable接口
阅读量:6074 次
发布时间:2019-06-20

本文共 1175 字,大约阅读时间需要 3 分钟。

Java 5.0 在 java.util.concurrent 提供了一个新的创建执行线程的方式:Callable 接口

Callable 接口类似于 Runnable,两者都是为那些其实例可能被另一个线程执行的类设计的。但是 Runnable 不会返回结果,并且无法抛出经过检查的异常
Callable 需要依赖FutureTask ,FutureTask 也可以用作闭锁。

例子:

package com.company;import java.util.concurrent.Callable;import java.util.concurrent.ExecutionException;import java.util.concurrent.FutureTask;/** * Created by MSI1 on 2017/3/30. */public class TestCallableDemo {    public static void main(String[] args) {        try {            DemoThread demoThread = new DemoThread();            FutureTask
integerFutureTask = new FutureTask<>(demoThread); new Thread(integerFutureTask).start(); Integer result = integerFutureTask.get(); System.out.println("result = " + result); } catch (InterruptedException e) { e.printStackTrace(); } catch (ExecutionException e) { e.printStackTrace(); } }}class DemoThread implements Callable
{ @Override public Integer call() throws Exception { int sum = 0; for (int i = 0; i <= 100; i++) { sum = sum + i; } return sum; }}

結果:

result = 5050

 

转载地址:http://pnxgx.baihongyu.com/

你可能感兴趣的文章
c# 连等算式都在做什么
查看>>
使用c:forEach 控制5个换行
查看>>
java web轻量级开发面试教程摘录,java web面试技巧汇总,如何准备Spring MVC方面的面试...
查看>>
使用ansible工具部署ceph
查看>>
linux系列博文---->深入理解linux启动运行原理(一)
查看>>
Android反编译(一) 之反编译JAVA源码
查看>>
结合当前公司发展情况,技术团队情况,设计一个适合的技术团队绩效考核机制...
查看>>
python-45: opener 的使用
查看>>
cad图纸转换完成的pdf格式模糊应该如何操作?
查看>>
Struts2与Struts1区别
查看>>
网站内容禁止复制解决办法
查看>>
Qt多线程
查看>>
我的友情链接
查看>>
想说一点东西。。。。
查看>>
css知多少(8)——float上篇
查看>>
NLB网路负载均衡管理器详解
查看>>
水平添加滚动条
查看>>
PHP中”单例模式“实例讲解
查看>>
VS2008查看dll导出函数
查看>>
VM EBS R12迁移,启动APTier . AutoConfig错误
查看>>