Java -----多线程 创建线程的方式三: 实现Callable接口----JDK 5.0 新增
1 package bytezero.thread2;
2
3 import java.util.concurrent.Callable;
4 import java.util.concurrent.ExecutionException;
5 import java.util.concurrent.FutureTask;
6
7 /**
8 *
9 * 创建线程的方式三: 实现Callable接口----JDK 5.0 新增
10 *
11 * 如何理解 实现Callable接口的方式创建多线程比实现Runable接口创建多线程的方式强大?
12 * 1.call()可以有返回值
13 * 2.call()可以抛出异常,被外面的操作捕获,获取异常的信息
14 * 3.Callable是支持泛型的
15 *
16 *
17 * @author Bytezero1·zhenglei! Email:420498246@qq.com
18 * create 2021-10-18 18:05
19 */
20
21 // 1.创建一个实现Callable的实现类
22 class NumThread implements Callable{
23 //2.实现call方法,将此线程需要执行的操作声明在 call方法中
24 @Override
25 public Object call() throws Exception {
26 int sum = 0;
27 for (int i = 1; i <100; i++) {
28 if(i % 2 == 0){
29 System.out.println(i);
30 sum += i;
31 }
32
33 }
34 return sum;
35 }
36 }
37
38 public class ThreadNew {
39 public static void main(String[] args) {
40 //3.创建Callable接口实现类的对象
41 NumThread numThread = new NumThread();
42
43 //4.将此allable接口实现类的对象作为参数传递到 FutureTask构造器中,并创建
44 //FutureTask对象
45 FutureTask futureTask = new FutureTask(numThread);
46 //将FutureTask的对象作为参数传递到 Thread的构造器中,创建Thread对象,并
47 //调用 start()方法
48 new Thread(futureTask).start();
49
50 try {
51 //6.获取Callable中的call方法的返回值
52 //get() 返回值即为FutureTask构造器参数Callable实现重写的call()的返回值
53 Object sum = futureTask.get();
54 System.out.println("总和为:"+sum);
55 } catch (InterruptedException e) {
56 e.printStackTrace();
57 } catch (ExecutionException e) {
58 e.printStackTrace();
59 }
60 }
61 }


Java -----多线程 创建线程的方式三: 实现Callable接口----JDK 5.0 新增的更多相关文章
- Java之创建线程的方式三:实现Callable接口
import java.util.concurrent.Callable;import java.util.concurrent.ExecutionException;import java.util ...
- 创建线程的方式三:实现Callable接口 --- JDK 5.0新增
/** * 创建线程的方式三:实现Callable接口. --- JDK 5.0新增 * * * 如何理解实现Callable接口的方式创建多线程比实现Runnable接口创建多线程方式强大? * 1 ...
- 创建执行线程方式三:实现Callable接口
Callable接口 ① Java 5.0 在 java.util.concurrent 提供了一个新的创建执行 线程的方式:Callable 接口② Callable 接口类似于 Runnable, ...
- 创建线程的方式三:实现Callable接口-----JDK5.0 新增
package com.yhqtv.java2; /* * 创建线程的方式三:实现Callable接口-----JDK5.0 新增 * * 如何理解实现Callable接口的方式创建多线程比实现Run ...
- 7. Callable 创建线程的方式三
package com.gf.demo06; import java.util.concurrent.Callable; import java.util.concurrent.ExecutionEx ...
- Java学习笔记-多线程-创建线程的方式
创建线程 创建线程的方式: 继承java.lang.Thread 实现java.lang.Runnable接口 所有的线程对象都是Thead及其子类的实例 每个线程完成一定的任务,其实就是一段顺序执行 ...
- Java多线程——创建线程的两种方式
创建线程方式一:继承Thread类. 步骤:1,定义一个类继承Thread类.2,覆盖Thread类中的run方法.3,直接创建Thread的子类对象创建线程.4,调用start方法开启线程并调用线程 ...
- java中创建线程的方式
创建线程的方式: 继承thread 实现runnable 线程池 FurureTask/Callable 第一种:继承thread demo1: public class demo1 { public ...
- Java之创建线程的方式四:使用线程池
import java.util.concurrent.ExecutorService;import java.util.concurrent.Executors;import java.util.c ...
- Java 多线程 - 创建线程的方法 + Executors.newXXXThreadPool()缺点
java中创建线程的三种方法以及区别: https://www.cnblogs.com/3s540/p/7172146.html 通过Executor 的工具类,创建三种类型的普通线程池: https ...
随机推荐
- element-ui表格排序
<el-table :data="TableAwitDoArr" style="width: 100%"> <el-table-column ...
- Flowable-UI
Flowable-UI 安装 手把手教大家画了这样一个流程图,虽然说它不是特别好用,但是也不是不能用,也能用.好了,那么接下来的话,我们这个就先告一个段落,接下来我要跟大家说的第二个东西的话,就是另外 ...
- word 常用设置
目录 目录 关闭 Word 句首字母自动大写功能 1 Word 生成目录 1 Word 快速调整标题级别 1 Word 关闭句首字母自动大写功能 参考:https://zhuanlan.zhihu.c ...
- 事务提交之后再执行某些操作 → 引发对 TransactionSynchronizationManager 的探究
开心一刻 昨晚,小妹跟我妈聊天 小妹:妈,跟你商量个事,我想换车,资助我点呀 妈:哎呀,你那分扣的攒一堆都够考清华的,还换车资助点,有车开就不错了 小妹:你要是这么逼我,别说哪天我去学人家傍大款啊 妈 ...
- 通过Demo学WPF—数据绑定(一)✨
前言 想学习WPF,但是看视频教程觉得太耗时间,直接看文档又觉得似懂非懂,因此想通过看Demo代码+文档的方式进行学习. 准备 微软官方其实提供了WPF的一些Demo,地址为:microsoft/WP ...
- Python自动化办公--Pandas玩转Excel【一】
相关文章: Python自动化办公--Pandas玩转Excel数据分析[二] Python自动化办公--Pandas玩转Excel数据分析[三]_汀.的博客-CSDN博客 python处理Excel ...
- 8.1 Windows驱动开发:内核文件读写系列函数
在应用层下的文件操作只需要调用微软应用层下的API函数及C库标准函数即可,而如果在内核中读写文件则应用层的API显然是无法被使用的,内核层需要使用内核专有API,某些应用层下的API只需要增加Zw开头 ...
- 2.5 PE结构:导入表详细解析
导入表(Import Table)是Windows可执行文件中的一部分,它记录了程序所需调用的外部函数(或API)的名称,以及这些函数在哪些动态链接库(DLL)中可以找到.在Win32编程中我们会经常 ...
- VUE3子表格嵌套分页查询互相干扰的问题解决
VUE3在表格中嵌套子表格子表格的分页查询互相干扰的问题解决 简单嵌套 如果不需要做子表格的分页查询,那么可以直接在主表格中嵌套子表格,有两种方式:一种是主表格加载的同时加载子表格数据,另一种是点击展 ...
- 教你用JavaScript实现表情评级
案例介绍 欢迎来到我的小院,我是霍大侠,恭喜你今天又要进步一点点了!我们来用JavaScript编程实战案例,做一个表情评价程序.用户打星进行评价,表情会根据具体星星数量发生变化. 案例演示 点击星星 ...