EduCoder Java高级特性 - 多线程基础(1)使用线程
第1关:创建线程
任务描述
本关任务:创建一个Java
线程执行特定任务。
编程要求
请仔细阅读右侧代码,根据方法内的提示,在Begin - End
区域内进行代码补充,具体任务如下:
使用继承
Thread
类的方式创建一个名为ThreadClassOne
的类,重写的run
方法需要实现输出0-10
之间的奇数,输出结果如下:1 3 5 7 9
;使用实现
Runnable
接口的方式创建一个名为ThreadClassTwo
的类,重写run
方法,编写start
方法,run
方法需要实现打印0-10
之间的偶数,输出结果如下:0 2 4 6 8 10
测试说明
因为需要完成两个文件的编写,所以你需要在右侧进行文件切换。
平台会判断你定义的类是否是一个线程类,并且调用run
方法,判断是否达到预期的输出结果。
通关代码
package step1;//请在此添加实现代码
/********** Begin **********/
public class ThreadClassOne extends Thread{public int i=0;public ThreadClassOne(){super();}public void run(){for(i=0;i<10;i++){if(i%2==1)System.out.print(i+" ");}}
}
/********** End **********/
第2关:使用 Callable 和 Future 创建线程
任务描述
本关任务:通过 Callable
和 Future
来创建线程。
编程要求
请仔细阅读右侧代码,根据方法内的提示,在Begin - End
区域内进行代码补充,具体任务如下:
- 在
runThread(int num)
函数中执行线程,创建Callable
线程,Callable
线程需要执行求第num
项斐波那契数列的值,最后在runThread
函数中获取Callable
线程执行的结果,并打印输出。
斐波那契数列(Fibonacci数列) 这个数列从第3
项开始,之后的每一项都等于它的前两项数字之和。 这个数列为: 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233,377,610,987,1597,2584,4181,6765,10946,17711,28657,46368........
测试说明
补充完代码后,点击测评,平台会对你编写的代码进行测试,当你的结果与预期输出一致时,即为通过。
通关代码
package step2;import java.util.concurrent.Callable;
import java.util.concurrent.FutureTask;public class Task {public void runThread(int num) {//请在此添加实现代码/********** Begin **********/// 在这里开启线程 获取线程执行的结果Callable callable = new ThreadCallable(num);FutureTask<Integer> futureTask = new FutureTask<>(callable);new Thread(futureTask).start();//开启线程try {Integer result = futureTask.get();System.out.println("线程的返回值为:" + result);} catch (Exception e) {e.printStackTrace();}/********** End **********/}
}//请在此添加实现代码
/********** Begin **********/
/* 在这里实现Callable接口及方法 */
class ThreadCallable implements Callable<Integer>{private int num;public ThreadCallable() {}public ThreadCallable(int num) {this.num = num;}public Integer call() throws Exception {int[] arr = new int[2];arr[0] = 1;arr[1] = 1;for (int i = 2; i < num; i++) {int tmp = arr[1];arr[1] = arr[0] + arr[1];arr[0] = tmp;}return arr[1];}
}
/********** End **********/
EduCoder Java高级特性 - 多线程基础(1)使用线程相关推荐
- 头歌Educoder——Java高级特性 - 多线程练习题
文章目录 第1关:顺序输出 任务描述 相关知识(略) 编程要求 测试说明 代码示例 第2关:售票窗口 任务描述 相关知识(略) 编程要求 测试说明 代码示例 Station.java Task.jav ...
- 【头歌实训】Java高级特性 - 多线程基础(1)使用线程,使用 Callable 和 Future 创建线程
任务描述 本关任务:通过 Callable 和 Future 来创建线程. 相关知识 从Java1.5版本开始,就提供了 Callable 和 Future 来创建线程,这种方式也是在Java程序员面 ...
- Java高级特性 - 多线程练习题
第1关:顺序输出 任务描述 本关任务:利用多线程相关知识控制三个线程,依照先后顺序顺序输出. 相关知识(略) 编程要求 请仔细阅读右侧代码,在 Begin-End 区域内进行代码补充,使线程依照先后顺 ...
- 头歌Educoder——Java高级特性 - JDBC(上)
第1关:JDBC连接数据库 任务描述 本关任务:使用jdbc连接数据库并完成创建数据库和创建表的操作. 相关知识 JDBC API提供以下接口和类: DriverManager:此类管理数据库驱动程序 ...
- Educoder–Java高级特性(第一章)- IO流【笔记+参考代码】
Educoder–Java高级特性(第一章)- IO流[笔记+参考代码] 第一关 1.下列关于字节和字符的说法正确的是(BC) A.字节 = 字符 + 编码 B.字符 = 字节 + 编码 C.字节 = ...
- Educoder–Java高级特性(第二章)- 集合框架【笔记+参考代码】
Educoder–Java高级特性(第二章)- 集合框架[笔记+参考代码] 第一关 编程要求 请仔细阅读右侧代码,根据方法内的提示,在Begin - End区域内进行代码补充,创建ArrayList集 ...
- Educoder -Java高级特性 - IO流 4关
Educoder -Java高级特性 - IO流 第一关 第二关:本关任务:使用输入输出流读写文件. 请仔细阅读右侧代码,根据方法内的提示,在Begin - End区域内进行代码补充,具体任务如下: ...
- 【Java高级】多线程基础
文章目录 1.jvm启动时的线程 2. 实现线程 2.1实现线程的第一种方式 2.2 实现线程第二种方法 3.线程生命周期 4.线程名字 5.线程的sleep 6.终止线程的睡眠 7.合理终止一个线程 ...
- EduCoder-JavaJava高级特性 - 多线程基础(1)实现代码以及相关知识点
我是小康小白,一个平平无奇的Java小白.热爱有趣的文字,生活和远方. 第1关:创建线程 任务描述 本关任务:创建一个Java线程执行特定任务. 相关知识 不知道你有没有发现,截止目前,我们编写的代码 ...
最新文章
- 基于 Go 语言构建企业级的 RESTful API 服务
- 入选CVPR 2022!一举打败16个同类模型,视频超分比赛冠军算法!
- Linux内核移植之二:Kconfig分析
- java线程等待都完成_Java等待线程完成
- 高等数学下-赵立军-北京大学出版社-题解-练习10.4
- ViewSwitcher用法浅析
- 双十一,老板的电话该不该接?
- 在不确定的世界,如何应对风险
- 2.java运算符与逻辑控制
- Python web实时消息服务器后台推送技术方案---GoEasy
- 聊聊汽车智能化时代的ASIL
- 如何批量把照片设置统一尺寸?
- 【Duet display】Mac分屏神器
- 群雄当立,逐鹿分布(二)Paxos传说之败走拜占庭
- 用字节数组存放二维地图数据
- compiz在debian上的安装和使用
- 【OpenGL】glm库的配置
- 问道手游平民玩家什么职业好
- Sentinel-2(哨兵-2)L1C数据辐亮度(辐射定标)和TOA反射率的获取说明
- CDNow网站用户消费行为分析
热门文章
- 证书、根证书、CA、证书不受信任详解
- [转]Amit's Astar Page中译文
- SolidWorks2010常用快捷键
- oracle表删除重复数据,oracle单表删除重复数据
- python数据清洗实例_hive 的日志处理统计网站的 PV 、UV案例 与 给合 python的数据清洗数据案例...
- 如何将一张黑白图转为mask
- 网页观看视频的时候出现绿屏怎么解决
- unity3d广东麻将算法
- python游戏房间_冒险游戏问题,在房间之间移动Python
- x390拆机 升级内存和硬盘_iMac 2019 21.5寸 拆机升级内存和固态详细教程