面向对象程序设计实验七 线程

面向对象程序设计实验七 线程

ID:40652805

大小:1.70 MB

页数:11页

时间:2019-08-05

面向对象程序设计实验七 线程_第1页
面向对象程序设计实验七 线程_第2页
面向对象程序设计实验七 线程_第3页
面向对象程序设计实验七 线程_第4页
面向对象程序设计实验七 线程_第5页
资源描述:

《面向对象程序设计实验七 线程》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、实验七线程云南大学信息学院面向对象技术导论java程序设计大学教程实验【开发语言及实现平台或实验环境】Windows2000或XP,JDK1.6与Jcreator4.0【实验目的】1.理解线程的基本概念、优先级、生命周期等。2.掌握线程的一般创建与使用方法(Thread类与Runnable接口)。3.了解线程间的通信、多线程的同步等编程机制。【实验要求】1.运行上课讲解的例子;2.完成下列实验内容。【实验内容】一、读懂并执行下列程序,理解Java中的多线程机制。1.运行下面的程序,理解用创建Thread子

2、类的方法实现多线程。classSimpleThreadextendsThread{publicSimpleThread(Stringstr){super(str);}publicvoidrun(){for(inti=0;i<10;i++){System.out.println(i+""+getName());try{sleep((int)(Math.random()*1000));}catch(InterruptedExceptione){}}System.out.println("DONE!"+getN

3、ame());}}publicclassTwoThreadsTest{publicstaticvoidmain(String[]args){newSimpleThread("GotoBeijing").start();newSimpleThread("Stayhere!!").start();}}问题:(1)程序的运行结果和功能分别是什么?(2)如果程序中去掉try-catch语句,程序是否仍能正常运行?(3)Thread子类是如何实现多线程机制的?(4)如果希望执行三个线程,再显示“GotoShangh

4、ai”,程序如何修改?比较显示次序,是否相同。为什么会有这样的现象?答:1:运行结果:功能:创建两个线程并打印做检测2:去掉后程序能够正常运行但是运行的速度加快,即线程没有了等待时间。3:在编写复杂程序时相关的类可能已经继承了某个基类,而Java不支持多继承,在这种情况下,便需要通过实现Runnable接口来生成多线程用到Thread类的构造方法publicThread(Runnabletarget);//构造一个新的线程对象,以一个实现Runnable接口的类的对象为参数。默认名为Thread-n,n是

5、从0开始递增的整数。4:首先在函数TwoThreadsTest添加一个线程即是添加语句newSimpleThread("GotoQinghai").start();和System.out.println(“GotoShanghai”);即可由于学校的机器是四核的无法完成下面的操作!2.运行下面的程序,理解用实现Runnable接口的方法实现多线程。//这是一个时钟Applet,它显示当前时间并逐秒进行更新。importjava.awt.*;importjava.applet.*;importjava.ut

6、il.*;publicclassClockextendsAppletimplementsRunnable{ThreadclockThread;publicvoidstart(){if(clockThread==null){clockThread=newThread(this,"Clock");clockThread.start();}}publicvoidrun(){while(clockThread!=null){repaint();try{clockThread.sleep(1000);}catch(

7、InterruptedExceptione){}}}publicvoidpaint(Graphicsg){Datenow=newDate();g.drawString(now.getHours()+";"+now.getMinutes()+";"+now.getSeconds(),5,10);}publicvoidstop(){clockThread.stop();clockThread=null;}}问题:(1)在什么情况下一般要通过实现runnable接口实现线程机制?(2)程序的运行结果和功能分别是

8、什么?(3)Runnable接口是如何实现多线程机制的?(4)程序中是通过什么方法如何实现逐秒更新显示时间的?答:(1)在编写复杂程序时相关的类可能已经继承了某个基类,而Java不支持多继承,在这种情况下,便需要通过实现Runnable接口来生成多线程(2)结果:功能:该程序是一个时钟Applet,它显示当前时间并逐秒进行更新。(3)定义一个实现java.lang.Runnable接口的类,并在该类中定义Runnable接口的

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。