- 1、本文档共56页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 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
您可能关注的文档
- ai杂志排版模板.doc
- ai如何做规范化的网格.doc
- aj是初中化学常见的物质.doc
- ajax请求session超时刻重定向解决方案.doc
- angular,左右滑动的表格.doc
- api,6d规范阀门试验规定的分析.doc
- apple入职背景调查.doc
- app协议功能是.doc
- asme锅炉压力容器规范.doc
- asme锅炉及压力容器规范第Ⅱ卷.doc
- 原电池电动势的测定实验报告.pdf
- 与业主、设计、总包、监理和他承包人的配合措施.pdf
- 公司管理流程.pptx
- 2024_2025学年新教材高中地理第1章地球的运动素养综合训练新人教版选择性必修1.doc
- 2024_2025学年新教材高中地理第3章大气的运动第1节常见天气系统第1课时锋与天气分层作业新人教版选择性必修1.doc
- 2024_2025学年新教材高中地理第1章地球的运动第2节地球运动的地理意义第4课时正午太阳高度的变化四季更替和五带划分分层作业课件新人教版选择性必修1.pptx
- 2024_2025学年新教材高中地理第2章地表形态的塑造第2节构造地貌的形成第1课时地质构造与地貌课件新人教版选择性必修1.pptx
- 2024_2025学年新教材高中地理第1章地球的运动问题研究人类是否需要人造月亮课件新人教版选择性必修1.pptx
- 五片小雪花课件.pdf
- 2024_2025学年新教材高中地理第3章大气的运动第2节气压带和风带第1课时气压带和风带的形成分层作业课件新人教版选择性必修1.pptx
最近下载
- AE教学设计_90200.doc
- 糖尿病患者教育.pptx VIP
- 人教版五年级劳动与技术下册模拟试题1(含答案).docx VIP
- 2023年辽宁省新高考生物试卷(附答案详解).docx
- 古代汉语(华中师范)中国大学MOOC慕课 2021期末考试答案.docx
- 小小科学家生物试题及评分1-3年级卷.pdf VIP
- DB13T 5945-2024 地面沉降监测分层标施工技术规程.docx
- 新能源汽车检测与故障诊断技术 课件 项目四 充电系统的故障诊断.pptx
- 高一英语课件 B2U4 Reading for Writing:Beautiful Ireland and Its Traditions.pptx
- 南京市联合体2020-2021学年七年级下学期期末数学试卷(含答案解析).docx
文档评论(0)