- 0
- 0
- 约6.52千字
- 约 4页
- 2026-02-13 发布于河北
- 举报
Java网络编程实验报告
实(验六)
学号:姓名:
审验项目名称:多线程教师评分:
一、实验目的
(1)了解线程的念。
2)学习简单的多线程编程。
二、预习内容及要求(要求写出预习内容)
1.进程和线程的念
进程是程序一次动态执行的过程,对应从代码加载、执行到执行结束这样一个完整的过程,也是
进程自身从产生、发展到消亡的过程。
线程是比进程更小的执行单元:一个进程在执行过程中,可以产生多个线程。每个线程都有自身
的产生、执行和消亡的过程。
2.线程的状态与生命周期
・新建:当一个Thread类或其子类的对象被声明并创建时,新生的线程对象处于新建状态。此
时它已经有了相应的内存空间和其他资源。
•运行:线程创建之后就具备了运行的条件,一旦轮到它来享用CPU资源时,即JVM将CPU
使用权切换给该线程时,比线程的就可以脱离创建它的主线程独立开始自己的生命周期了即(
run方法执行的过程)。
•中断:有4种原因的中断,CPU资源从当前线程切换给其他线程、执行了sleep(intmillsecond)
方法、执行了wail()方法、进入阻塞状态。
•死亡:run方法结束。
3.线程的创建
在Java语言中,与线程支持密切相关的是java.lan.Thread类和java.lan.Runnable接口。Runnable
接口定义很简单,只有一个run方法。任何一个类如果希望自己的实例能够以线程的形式执行,都可以
来实现Runnable接口。
继承Thread类和实现Runnable接口,都可以用来创建Thread对象,效果上并没有什么不同。维
承Thread类的方法很明显的缺点就是这个类不能再继承其他的类了,而实现Runnable接口不会有这个
麻烦。
另外,在继承Thread类的代码中,lhis其实就是指当前正在运行的线程对象,如果使用实现Runnable
接口的方式,要得到当前正在执行的线程,需要使用Thread.currentThread。方法。
线程创建后仅仅是占有了内存资源,在JVM管理的线程中还没有这个线程,此线程必须调用start
()方法(从父类继承的方法)通知JVM,这样JVM就会知道又有一个新一个线程排队等候切换了。
注意:多次启动一个线程,或者启动一个己经运行的线程对象是非法的,会抛出
IllealThrcadStatcExccption异常对象。
4.线程的优先级
同一时刻在等待队列中的线程会有很多个,它们各自任务的重要性有所不同。为了加以区分,使
工作安排和资源分配时间更为合理,每个线程可以被赋予不同的优先级,让任务较急的线程拥有更
高的优先级,从而更快地进入执行状态。
Java中提供了10个等级的线程优先级,最低为Thread.MIN_PRIORITY=l,最高为
Thread.MAX_PRIORITY=10,默认优先级为Thread.NORM_PRIORITY=5。
使用Thread类中的setPrioriiy(int)方法可以为线程指定优先级。
5.线程的常用方法
•start()方法:
线程调用该方法将启动线程,便之从新建状态进入就绪队列排队,一旦轮到它来享用CPU资源时,
就可以脱离创建它的线程独立开始自己的生命周期了。
•run()方法:
Thread类的ru
您可能关注的文档
最近下载
- (新)人教版七年级数学下册课件(全册-共568张PPT)【568页】.pptx VIP
- 2025年甘肃省兰州市中考数学真题卷(含答案与解析).pdf VIP
- 六年级上册数学晨读晚默综合每日一练-57e944eebc8b.docx VIP
- 中英对照版-中文版-The-Dead-By-James-Joyces死者-詹姆斯-乔伊斯.doc VIP
- 养老院传染病防控管理制度.pdf VIP
- 公司面试官选拔认证实施方案.pdf VIP
- 初中数学中考真题.pdf VIP
- 全等三角形培优经典题.docx VIP
- CESSNA172飞行程序简易手册解读.doc VIP
- 计算机系统操作权限设定表.doc VIP
原创力文档

文档评论(0)