当前位置: 首页 > news >正文

嘉兴哪里做网站登录百度

嘉兴哪里做网站,登录百度,建邺html5响应式网站,wordpress post_content实现Callable第三种方式存在的原因 作用:可以返回线程执行完毕后的结果。 前两种线程创建方式都存在的一个问题:假如线程执行完毕后有一些数据需要返回,他们重写的run方法均不能直接返回结果。 如何实现 ● JDK 5.0提供了Callable接口和FutureTask类来…

实现Callable第三种方式存在的原因

作用:可以返回线程执行完毕后的结果。

前两种线程创建方式都存在的一个问题:假如线程执行完毕后有一些数据需要返回,他们重写的run方法均不能直接返回结果。

如何实现

● JDK 5.0提供了Callable接口和FutureTask类来实现(多线程的第三种创建方式)。

步骤

1、创建任务对象

> 定义一个类实现Callable接口,重写call方法,封装要做的事情,和要返回的数据。

2、创建Callable接口实现类的对象

3、把Callable接口实现类的对象作为参数传递到FutureTask的构造方法中,创建FutureTask对象成为线程任务对象

//1、先创建一个Callable接口的实现类
class MyCallable implements Callable<String> {private int n;public MyCallable(int n){this.n = n;}//2、实现call方法,定义线程执行体@Overridepublic String call() throws Exception {int sum = 0;for (int i = 0; i <= n; i++) {sum += i;}return "从1-"+n+"子线程计算出的结果是:"+sum;}
}//3、创建Callable接口实现类的对象
Callable c1 = new MyCallable(100);
//4、把Callable接口实现类的对象作为参数传递到FutureTask的构造方法中,创建FutureTask对象成为线程任务对象
/*** 未来任务对象的作用* 1、本质是一个Runnable线程任务对象,因为它是它的实现类。这样子就可以作为参数传递到Thread的构造方法中,创建Thread对象* 2、可以调用FutureTask对象的get方法,获取线程执行结束后的结果*/
FutureTask f1 = new FutureTask<>(c1);//public FutureTask(Callable<V> callable) {}

4、把线程任务对象交给Thread对象。

5、调用Thread对象的start方法启动线程。

6、线程执行完毕后、通过FutureTask对象的的get方法去获取线程任务执行的结果。

//5、把线程任务对象作为参数传递到Thread的构造方法中,创建Thread对象
Thread t1 = new Thread(f1);
//6、启动线程
t1.start();//自动调用call方法
try {//如果主线程发现第一个线程还没有执行完毕,则主线程会一直等待,直到第一个线程执行完毕,主线程才会往下执行/*** FutureTask.get()的阻塞特性导致主线程等待* 主线程调用 FutureTask.get() 时会阻塞并等待子线程执行完毕*/System.out.println(f1.get());
} catch (Exception e) {e.printStackTrace();
}

注意点

1、未来任务(FutureTask)对象的作用
未来任务对象的作用1、本质是一个Runnable线程任务对象,因为它是它的实现类。这样子就可以作为参数传递到Thread的构造方法中,创建Thread对象2、可以调用FutureTask对象的get方法,获取线程执行结束后的结果

2、FutureTask.get()的阻塞特性

FutureTask.get()的阻塞特性导致主线程等待 

如果主线程调用 FutureTask.get() 时会阻塞并等待子线程执行完毕,那么主线程发现第一个线程还没有执行完毕,则主线程会一直等待,直到第一个线程执行完毕,主线程才会往下执行
 

3、FuturTask是Runnable的实现类,所以创建的FutureTask对象才是线程任务对象,因为Runnable代表着线程任务对象
http://www.hkea.cn/news/237383/

相关文章:

  • 福建省建设银行招聘网站网络推广员压力大吗
  • 动态网站订单怎么做搜索引擎优化营销
  • html5行业网站最近有哪些新闻
  • 做网站业务的怎么寻找客户在哪里打广告效果最好
  • 广东深圳seo服务内容
  • 做网站怎么备案网络服务有限公司
  • 网站主页特效欣赏百度官网下载电脑版
  • php mysql开发网站开发任何小说都能搜到的软件
  • the7 wordpress主题宁波seo外包费用
  • 云南建筑培训网seo刷点击软件
  • 男女做暖网站h5页面制作平台
  • 可以做puzzle的网站百度关键词排名提升工具
  • 竞网网站建设南宁网站seo大概多少钱
  • 114黄页信息网宝鸡seo培训
  • 东南亚做棋牌网站挖掘爱站网
  • 中国工程建设招标网官方网站谷歌查询关键词的工具叫什么
  • wordpress管理员密码忘记成都seo招聘
  • 武汉企业建站系统模板下载官方正版百度
  • 上海做网站国际财经新闻
  • 用废旧盒子做家用物品网站seo排名工具
  • 企业铭做网站域名解析在线查询
  • 怎么注册自己的小程序网站优化分析
  • 荆州网站建设流程网站设计培训
  • 网站支付怎么做的seo职业技能培训班
  • 做csgo直播网站上海知名网站制作公司
  • 深圳住建局官方网站seo网站关键词优化快速官网
  • 网站建设需要php吗企业的互联网推广
  • 苏中建设集团官方网站电商软文广告经典案例
  • 网站开发需要什么开发工具代做百度首页排名价格
  • 北京网站设计多少钱微信引流推广