- 101
- 0
- 约 8页
- 2017-01-12 发布于重庆
- 举报
实验报告五多线程.
《面向对象程序设计》实验报告
实验序号:5 日期: 2011 年 6 月 3 日
班 级 姓名 学号 实验项目名称 多线程 学时 指导教师 实验目的:
掌握线程的4种状态:新建、运行、中断、死亡。
学习用Thread类创建线程,掌握哪些数据是线程之间共享的,哪些数据是线程独有的。
学习使用wait方法挂起线程的执行,使用notifyAll()方法恢复线程的执行。 实验内容:
1.完成实验五(一),补全下列程序中缺少的语句。
程序1:编写一个Java应用程序,在主线程中再创建2个线程,要求线程经历4种状态:新建、运行、中断、死亡。
程序2:编写一个Java应用程序,在主线程中用Thread类再创建2个线程,2个线程共享一个int型的数据,并各自有自己独占的数据。
程序3:通过单击“开始”按钮启动线程,该线程负责移动一个红色的标签。通过单击“挂起”按钮暂时中断线程的执行,单击“恢复”按钮恢复线程。通过单击“终止”按钮终止线程。
2.阅读理解运行实验五(二)。
实验完成情况
(一)、程序1:线程的4种状态
ThreadExample.java
class Tortoise extends Thread
{
int sleepTime=0,liveLength=0;
Tortoise(int sleepTime,String name,int liveLength)
{
this.sleepTime=sleepTime;
this.liveLength=liveLength;
setName(name);
}
public void run()
{
while(true)
{
liveLength--;
System.out.print(@);
try
{
sleep(sleepTime);//让线程调用 sleep方法进入中断状态,sleepTime毫秒后线程重新排队
// 等待CUP资源。
}
catch(InterruptedException e)
{
}
if(liveLength=0)
{
System.out.print(getName()+进入死亡状态\n);
return;//结束run方法的语句。
}
}
}
}
class Rabbit extends Thread
{
int sleepTime=0,liveLength;
Rabbit(int sleepTime,String name,int liveLength)
{
this.sleepTime=sleepTime;
this.liveLength=liveLength;
setName(name);
}
public void run()
{
while(true)
{
liveLength--;
System.out.print(*);
try
{
sleep(sleepTime);//让线程调用 sleep方法进入中断状态,sleepTime毫秒后线程重新排队
// 等待CUP资源。
}
catch(InterruptedException e)
{
}
if(liveLength=0)
{
System.out.print(getName()+进入死亡状态\n);
return;//结束run方法的语句。
}
您可能关注的文档
- 实验报告_实验七..doc
- 实验报告_实验二_..doc
- 实验报告_差分式放大电路..doc
- 实验报告_算符优先分析器2..doc
- 实验报告_精馏实验..doc
- 实验报告_运算器实验..doc
- 实验报告_高温超导材料临界转变温度的测定..doc
- 实验报告γ射线能谱测定及γ射线的吸收与物质吸收系数μ的测定..doc
- 实验报告Ⅰ-CT..docx
- 实验报告Ⅳ-微波的基本参数测量..docx
- 小区绿化施工协议书.docx
- 墙面施工协议书.docx
- 1 古诗二首(课件)--2025-2026学年统编版语文二年级下册.pptx
- (2026春新版)部编版八年级道德与法治下册《3.1《公民基本权利》PPT课件.pptx
- (2026春新版)部编版八年级道德与法治下册《4.3《依法履行义务》PPT课件.pptx
- (2026春新版)部编版八年级道德与法治下册《6.2《按劳分配为主体、多种分配方式并存》PPT课件.pptx
- (2026春新版)部编版八年级道德与法治下册《6.1《公有制为主体、多种所有制经济共同发展》PPT课件.pptx
- 初三教学管理交流发言稿.docx
- 小学生课外阅读总结.docx
- 餐饮门店夜经济运营的社会责任报告(夜间贡献)撰写流程试题库及答案.doc
原创力文档

文档评论(0)