java中通过继承thread类实现多线程难点与解决方案.doc

java中通过继承thread类实现多线程难点与解决方案.doc

  1. 1、本文档共56页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
java中通过继承thread类实现多线程难点与解决方案 篇一:Java作业—利用继承Thread类创建三个线程 《Java语言》课程作业 (第二次) 题 目学 院 专 业 班 别 学 号 姓 名 2010年11月30日 一、课程题目 6、 利用继承Thread类创建三个线程,线程1输出三个“good morning!”,线程2输出三个“good afternoon!”,线程3输出三个“good night!”,每个线程输出一次后休眠100s。在main主线程中创建并启动这三个线程。 二、题目分析与设计 Java中实现多线程有两种途径:继承Thread类或者实现Runnable接口。本题使用继承Thred类run ()方法实现多线程技术。 首先设计一个继承类ExtendsThread,添加继承Thread基类的实现,定义一个字符串的参数字段hello,该字段在ExtendsThread实例化的同时获取方法参数,如:“good morning!”“good night!”“good afternoon!”,在ExtendsThread类中实现基类Thread的run()方法,使用for循环调用Thread类的start()方法来启动一个线程,这时此线程处于就绪(可运行)状态,并没有运行,一旦得到spu时间片,就开始执行run()方法,该方法主要功能输出三个hello字段的字符串,当线程调用了自身的sleep()方法,就会进入阻塞状态(该状态既停止当前线程,但并不释放所占有的资源,当sleep()结束,该线程进入可运行状态,继续等待OS分配时间片; 程序集与类视图如下: 本程序开发环境:Eclipse 三、测试分析 四、实验总结和心得 java中多线程就是一个类或一个程序执行或管理多个线程执行任务的能力,每个线程可以独立于其他线程而独立运行,当然也可以和其他线程协同运行,一个类控制着它的所有线程,可以决定哪个线程得到优先级,哪个线程可以访问其他类的资源,哪个线程开始执行,哪个保持休眠状态。Java中实现多线程有两种途径:继承Thread类或者实现Runnable接口。Runnable是接口,接口可以实现多继承,况且Runnable只有一个run方法,很适合继承。在使用Thread的时候只需继承Thread,并且new一个实例出来,调用start()方法即可以启动一个线程。 通过了实验了解了JAVA线程创建,可运行,运行中,阻塞,死亡五中状态的使用技巧,掌握多线程的基本技术,当然还有很多地方需要更多实践和更深刻的认识。 附录:源代码 import java.util.*; import java.text.*; import java.lang.Thread; public class ExtendsThread extends Thread{ private String hello; public ExtendsThread(String hello) { this.hello=hello; } public void run() { try { for(int i=0; ilt;3; ++i ) { Date now = new Date(); DateFormat d1 = DateFormat.getDateTimeInstance(); String nowtime = d1.format(now); System.out.println(this.getName()+ #39;:#39;+this.hello+ 毕时间:+nowtime); sleep(1000*100); } } catch(Exception e) { e.printStackTrace(); System.out.println(消息:+e.getMessage()); } } public static void main(String[] args) { ExtendsThread thread1 = new ExtendsThread(good morning! ); ExtendsThread thread2 = new ExtendsThread(good afternoon!); ExtendsThread thread3 = new ExtendsThread(good night! ); thread1.setName(线程一); thread2.setName(线程二); thread3.setName(线程三); thread1.start(); thread2.start(); thre

文档评论(0)

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

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

1亿VIP精品文档

相关文档