多线程实现与测试:交互运行规律及Runnable接口的优势
需积分: 0 195 浏览量
更新于2024-06-30
收藏 104KB DOCX 举报
在"28.2、多线程1"文档中,主要探讨了多线程编程的概念以及在Java中的两种实现方式:继承Thread类和实现Runnable接口。以下是关键知识点的详细阐述:
1. 单进程与多线程:
单进程环境下,如DOS,如果存在病毒,会立即响应,这是因为整个进程负责处理所有任务。而在Windows中,多进程模型使得病毒不易被察觉,因为每个进程有独立的线程,进程崩溃不会影响其他线程。
2. 多线程实现方式:
- 继承Thread类: 子类重写`run()`方法,这是传统的方式,但限制在于一个类只能继承一个父类,适用于资源独占的场景。
- 实现Runnable接口: 类实现Runnable接口,重写`run()`方法,这种方式避免了单继承的局限性,允许类同时实现多个接口,更适合资源共享,且创建线程时使用Thread对象的start()方法启动。
3. 测试与线程调度:
- 测试中,首先通过`run()`调用创建的线程,观察到结果有规律但非交互,因为`main()`线程执行效率高,优先级高。
- 使用`start()`调用,实现了线程交互运行,因为此时线程由操作系统调度,不是由程序直接控制。
4. 线程生命周期和优先级:
- 主线程和其他线程的区别:主线程虽然简单,但优先级较高,可能导致其他线程的执行被延迟。
- 可以通过`Thread`类的`setName()`方法设置线程名字,`Thread.sleep()`用于线程休眠,`setPriority()`设置优先级。
- 线程休眠中断时,可能会抛出InterruptedException异常。
5. 线程共享资源示例:
- 通过Runnable接口创建的线程可以更好地解决资源共享问题,例如在售票系统中,两个线程可以并发操作票务,避免数据冲突。
6. 线程操作方法:
- `Thread`类提供了获取线程名称、暂停和唤醒线程等方法,这些操作有助于管理和监控线程的执行状态。
总结:
文档详细讲解了多线程编程的基础概念,包括线程的概念、Java中两种创建线程的机制及其优缺点,以及如何通过测试和方法调用来控制线程的执行。理解这些内容对于编写并发程序和优化性能至关重要。
2022-08-08 上传
2022-08-03 上传
2015-07-20 上传
283 浏览量
126 浏览量
2013-04-04 上传
代码深渊漫步者
- 粉丝: 21
- 资源: 320
最新资源
- 使用PlayStation控制器控制机器人-项目开发
- NewLife:GO 语言实现的轻量级博客系统
- kaitlinbennett.github.io
- 数字观测器_考虑有限字长效益
- 简历-求职简历-word-文件-简历模版免费分享-应届生-高颜值简历模版-个人简历模版-简约大气-大学生在校生-求职-实习
- C语言求孪生数 矩阵替换A 扩展字符A
- (正文)学生的学习态度在初高中物理课程衔接中的影响.zip
- iOS企业级Swift项目实战之我的云音乐(第一部分)
- 美国马里兰大学电池测试数据5:CS2+CX22 (1)
- 使用短信来控制LED的颜色-项目开发
- 简历-求职简历-word-文件-简历模版免费分享-应届生-高颜值简历模版-个人简历模版-简约大气-大学生在校生-求职-实习
- sql_dust:简单的。 简单的。 强大的。 使用神奇的Elixir SQL尘土生成(复杂的)SQL查询
- React堆课程
- python 零基础学习篇-资料.zip
- 通俗易懂的Go语言教程第2季(含配套资料)
- C++中缀表达式转后缀表达式源码集