java实验四实验报告.docVIP

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
java实验四实验报告

实验四 多线程程序设计 实验目的:理解线程的概念、线程的生命周期,掌握多线程的编程:继承Thread类与使用Runnable接口。 实验环境:安装Windows 2000或Windows 98计算机和JDK编译器 实验要求: 1、掌握两种创建线程的方法:一种是创建用户自己的线程子类,另一种是在用户自己的类中实现Runable接口。 2、掌握线程优先极。 3、掌握线程的同步方法。 实验内容: 多线程是指同时存在的几个执行体,按几条不同的执行线索共同工作的情况。Java语言的一个重要功能特点就是内置对多线程的支持,踏实的编程人员可以很方便的开发出具有多现成功能,能同时处理多个任务的功能强大的应用程序。 Java中编程实现多线程应用有两种途径:一种是创建用户自己的线程子类,另一种是在用户自己的类中实现Runable接口。无论那种方法,都需要使用到Java基础类库中的Thread类及其方法。 创建Thread类的子类:在这个途径中,用户程序需要创建自己的Thread类的子类,并在子类中重新定义自己的run()方法,这个run()方法中包含了用户线程的操作。这样在用户程序需要建立自己的线程时,他只需要创建一个一定已定义好的Thread子类的实例就可以了。 实现Runnable接口:在这个途径中,已经有了一个父类的用户类可以已通过实现Runable()接口的方法来定义用户线程的操作。我们知道,Runable接口只有一个方法run(),实现这个接口,就必须要定义run()方法的具体内容。用户新建现成的操作也有这个方法来决定。定义好run()方法后,当用户程序需要建立新线程时,只要以这个实现了Runnable()方法的类为参数创建系统类Thread的对象,就可以把用户实现的run()方法继承过来。 1、用创建Thread类的子类的方法实现多线程: 源程序: class FruitThread extends Thread { public FruitThread (String str) { super(str); } public void run() { for(int i=0;i5;i++) { System.out.println(i++getName()); try { sleep((int)(Math.random()*1000)); } catch(InterruptedException e){ } } } } class TwoFruit { public static void main(String args[]) {new FruitThread(苹果).start(); new FruitThread(梨).start(); } } 编译:javac FruitThread.java 解释执行:java TwoFruit 实验结果 : 2、用实现Runnable接口的方法实现多线程。 源程序: class outputClass implements Runnable{ String name; outputClass(String s){ name=s; } public void run(){ for(int i=0;i3;i++){ System.out.println(name); Thread.yield(); } } } class runThreads{ public static void main(String args[]){ outputClass out1=new outputClass(Thread1); outputClass out2=new outputClass(Thread2); Thread t1=new Thread(out1); Thread t2=new Thread(out2); t1.start(); t2.start(); } } 编译:javac runThreads.java 解释执行:java runThreads 实验结果: 3、线程优先级的作用:用继承Thread类和执行Runnable接口的方法创建两个线程,并测试这两个线程的同时运行情况。 a. 将两个线程设为同优先级,比较运行情况。 b. 将两个线程设为同优先级, 比较线程调用sleep()/yeild()方法后出现什么情况。 c.将两个线程设为不同优先级,比较以上两种情况。 a源程序: class ru

文档评论(0)

yan698698 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档