- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Java网络编程实验报告 (实验六) 学号: 姓名: 实验项目名称:多线程 教师评分: 一、实验目的 (1)了解线程的概念。 (2)学习简单的多线程编程。 二、预习内容及要求(要求写出预习内容) 进程和线程的概念 进程是程序一次动态执行的过程,对应从代码加载、执行到执行结束这样一个完整的过程,也是进程自身从产生、发展到消亡的过程。 线程是比进程更小的执行单元,一个进程在执行过程中,可以产生多个线程。每个线程都有自身的产生、执行和消亡的过程。 线程的状态与生命周期 新建:当一个Thread类或其子类的对象被声明并创建时,新生的线程对象处于新建状态。此时它已经有了相应的内存空间和其他资源。 运行:线程创建之后就具备了运行的条件,一旦轮到它来享用CPU资源时,即JVM将CPU使用权切换给该线程时,此线程的就可以脱离创建它的主线程独立开始自己的生命周期了(即run方法执行的过程)。 中断:有4种原因的中断,CPU资源从当前线程切换给其他线程、执行了sleep(int millsecond)方法、执行了wait()方法、进入阻塞状态 。 死亡:run方法结束。 线程的创建 在Java语言中,与线程支持密切相关的是java.lang.Thread类和java.lang.Runnable接口。Runnable接口定义很简单,只有一个run方法。任何一个类如果希望自己的实例能够以线程的形式执行,都可以来实现Runnable接口。 继承Thread类和实现Runnable接口,都可以用来创建Thread对象,效果上并没有什么不同。继承Thread类的方法很明显的缺点就是这个类不能再继承其他的类了,而实现Runnable接口不会有这个麻烦。 另外,在继承Thread类的代码中,this其实就是指当前正在运行的线程对象,如果使用实现Runnable接口的方式,要得到当前正在执行的线程,需要使用Thread.currentThread()方法。 线程创建后仅仅是占有了内存资源,在JVM管理的线程中还没有这个线程,此线程必须调用start()方法(从父类继承的方法)通知JVM,这样JVM就会知道又有一个新一个线程排队等候切换了。 注意:多次启动一个线程,或者启动一个已经运行的线程对象是非法的,会抛出IllegalThreadStateException异常对象。 线程的优先级 同一时刻在等待队列中的线程会有很多个,它们各自任务的重要性有所不同。为了加以区分,使工作安排和资源分配时间更为合理,每个线程可以被赋予不同的优先级,让任务比较急的线程拥有更高的优先级,从而更快地进入执行状态。 Java中提供了10个等级的线程优先级,最低为Thread.MIN_PRIORITY=1,最高为Thread.MAX_PRIORITY=10,默认优先级为Thread.NORM_PRIORITY=5。 使用Thread类中的setPriority(int)方法可以为线程指定优先级。 线程的常用方法 start() 方法: 线程调用该方法将启动线程,使之从新建状态进入就绪队列排队,一旦轮到它来享用CPU资源时,就可以脱离创建它的线程独立开始自己的生命周期了。 run()方法: Thread类的run()方法与Runnable接口中的run()方法的功能和作用相同,都用来定义线程对象被调度之后所执行的操作,都是系统自动调用而用户程序不得引用的方法。系统的Thread类中,run()方法没有具体内容,所以用户程序需要创建自己的Thread类的子类,并重写run()方法来覆盖原来的run()方法。当run方法执行完毕,线程就变成死亡状态。 sleep(int millsecond) 方法: 现程占有CPU期间,执行sleep方法来使自己放弃CPU资源,休眠一段时间。休眠时间的长短由sleep方法的参数决定,millsecond是毫秒为单位的休眠时间。如果线程在休眠时被打断,JVM就抛出InterruptedException异常。因此,必须在try~catch语句块中调用sleep方法。 isAlive() 方法: 线程处于“新建”状态时,线程调用isAlive()方法返回false。当一个线程调用start()方法,并占有CPU资源后,该线程的run方法就开始运行,在线程的run方法结束之前,即没有进入死亡状态之前,线程调用isAlive()方法返回true。当线程进入“死亡”状态后(实体内存被释放),线程仍可以调用方法isAlive(),这时返回的值是false。 一个已经运行的线程在没有进入死亡状态时,不要再给线程分配实体,由于线程只能引用最后分配的实体,先前的实体就会成为“垃圾”,并且不会被垃圾收集机收集掉。 currentTh
您可能关注的文档
- 实验一报告_2完整版.doc
- 四川山区支教调研报告.doc
- 必威体育精装版人教版四年级数学上册《公顷和平方千米》课标解读.doc
- 潮流上机课程设计报告[1].华电.doc
- 关于大学生假期生活的调查报告.doc
- 寻找身边的榜样.doc
- 数据结构实验报告1.doc
- 湿度检测电路的设计报告.doc
- C#课程设计画图实验报告.doc
- 关于高密污水处理的水调查报告.doc
- 2025至2030机电产品用轴承行业发展研究与产业战略规划分析评估报告.docx
- 2026中国蒿甲醚市场供需监测及发展趋势研究分析报告.docx
- 2026中国金属陶瓷基板行业销售渠道及未来产销需求预测报告.docx
- 传统学校申报汇报材料.pptx
- 2025至2030寡核苷酸行业发展研究与产业战略规划分析评估报告.docx
- 2025-2030中国混凝土搅拌设备行业深度调研及投资前景预测研究报告.docx
- 2026中国冻鸡行业消费动态与盈利前景预测报告.docx
- 2025-2030皮肤病药物项目可行性研究报告.docx
- 2025-2030中国立体停车库行业市场发展分析及前景预测与战略规划研究报告.docx
- 2025-2030中国汽车复合材料行业深度调研及投资前景预测研究报告.docx
最近下载
- 2025年人教pep版六年级上册英语Unit3 Part C Story time.pptx VIP
- “双碳”目标下兴业银行绿色信贷风险管理研究.docx VIP
- 合并同类项练习题.doc VIP
- 天然气管道抢险施工方案.docx
- 外教社2024全新版大学高阶英语:综合教程 第4册 PPT课件U2.pptx VIP
- 兴业银行绿色信贷风险管理.docx VIP
- 不忘初心模板2.pptx VIP
- 重大火灾隐患判定规则GB35181-2025宣贯培训.pptx
- 不忘初心,继续前进PPT模板.ppt VIP
- 书记讲党课使命教育党课强化党的意识践行党的宗旨不忘初心继续前进党课ppt课件模板.pptx VIP
有哪些信誉好的足球投注网站
文档评论(0)