网站大量收购独家精品文档,联系QQ:2885784924

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

  1. 1、本文档共11页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
实验七 线程 云南大学信息学院 面向对象技术导论 java程序设计大学教程 实验 【开发语言及实现平台或实验环境】 Windows2000 或XP,JDK1.6与Jcreator4.0 【实验目的】 1. 理解线程的基本概念、优先级、生命周期等。 2. 掌握线程的一般创建与使用方法(Thread类与Runnable接口)。 3. 了解线程间的通信、多线程的同步等编程机制。 【实验要求】 1. 运行上课讲解的例子; 2. 完成下列实验内容。 【实验内容】 一、读懂并执行下列程序,理解Java中的多线程机制。 1. 运行下面的程序,理解用创建Thread子类的方法实现多线程。class SimpleThread extends Thread { public SimpleThread(String str) { super(str); } public void run() { for (int i = 0; i 10; i++) { System.out.println(i + + getName()); try { sleep((int)(Math.random() * 1000)); } catch (InterruptedException e) {} } System.out.println(DONE! + getName()); } } public class TwoThreadsTest { public static void main (String[] args) { new SimpleThread(Go to Beijing ).start(); new SimpleThread(Stay here!!).start(); } } 问题: (1) 程序的运行结果和功能分别是什么? (2) 如果程序中去掉try-catch语句,程序是否仍能正常运行? (3) Thread子类是如何实现多线程机制的? (4) 如果希望执行三个线程,再显示“Go to Shanghai ”,程序如何修改?比较显示次序,是否相同。为什么会有这样的现象? 答: 1:运行结果: 功能:创建两个线程并打印做检测 2:去掉后程序能够正常运行但是运行的速度加快,即线程没有了等待时间。 3:在编写复杂程序时相关的类可能已经继承了某个基类,而Java不支持多继承,在这种情况下,便需要通过实现Runnable接口来生成多线程 用到Thread类的构造方法 public Thread(Runnable target); //构造一个新的线程对象,以一个实现Runnable接口的类的对象为参数。默认名为Thread-n,n是从0开始递增的整数。 4:首先在函数TwoThreadsTest添加一个线程即是添加语句new SimpleThread(Go to Qinghai ).start();和System.out.println(“Go to Shanghai”);即可由于学校的机器是四核的无法完成下面的操作! 2. 运行下面的程序,理解用实现Runnable接口的方法实现多线程。//这是一个时钟Applet,它显示当前时间并逐秒进行更新。import java.awt.*; import java.applet.*; import java.util.*; public class Clock extends Applet implements Runnable{ Thread clockThread; public void start(){ if(clockThread==null){ clockThread=new Thread(this,Clock); clockThread.start(); } } public void run(){ while(clockThread !=null){ repaint(); try{ clockThread.sleep(1000);

文档评论(0)

peain + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档