1 / 8
文档名称:

实验报告五 多线程.doc

格式:doc   页数:8页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

实验报告五 多线程.doc

上传人:xxj16588 2015/12/30 文件大小:0 KB

下载得到文件列表

实验报告五 多线程.doc

文档介绍

文档介绍:《面向对象程序设计》实验报告
实验序号:5 日期: 2011 年 6 月 3 日
班级
姓名
学号
实验项目名称
多线程
学时
指导教师
实验目的:
掌握线程的4种状态:新建、运行、中断、死亡。
学****用Thread类创建线程,掌握哪些数据是线程之间共享的,哪些数据是线程独有的。
学****使用wait方法挂起线程的执行,使用notifyAll()方法恢复线程的执行。
实验内容:
(一),补全下列程序中缺少的语句。
程序1:编写一个Java应用程序,在主线程中再创建2个线程,要求线程经历4种状态:新建、运行、中断、死亡。
程序2:编写一个Java应用程序,在主线程中用Thread类再创建2个线程,2个线程共享一个int型的数据,并各自有自己独占的数据。
程序3:通过单击“开始”按钮启动线程,该线程负责移动一个红色的标签。通过单击“挂起”按钮暂时中断线程的执行,单击“恢复”按钮恢复线程。通过单击“终止”按钮终止线程。
(二)。
实验完成情况
(一)、程序1:线程的4种状态

class Tortoise extends Thread
{
int sleepTime=0,liveLength=0;
Tortoise(int sleepTime,String name,int liveLength)
{
=sleepTime;
=liveLength;
setName(name);
}
public void run()
{
while(true)
{
liveLength--;
("@");
try
{
sleep(sleepTime);//让线程调用 sleep方法进入中断状态,sleepTime毫秒后线程重新排队
// 等待CUP资源。
}
catch(InterruptedException e)
{
}
if(liveLength<=0)
{
(getName()+"进入死亡状态\n");
return;//结束run方法的语句。
}
}
}
}
class Rabbit extends Thread
{
int sleepTime=0,liveLength;
Rabbit(int sleepTime,String name,int liveLength)
{
=sleepTime;
=liveLength;
setName(name);
}
public void run()
{
while(true)
{
liveLength--;
("*");
try
{
sleep(sleepTime);//让线程调用 sleep方法进入中断状态,sleepTime毫秒后线程重新排队
// 等待CUP资源。
}
catch(Interrup