实验报告五多线程..docVIP

  • 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方法的语句。 }

文档评论(0)

1亿VIP精品文档

相关文档