面向对象编程思想概览(四)多线程
一、简介
本讲通过生活中的事例——家庭主妇进行烧水、洗衣、清扫、做饭四项活动,认识什么是线程,学习理解线程的生命周期和创建方法,理解什么是多线程并学习其如何应用。为接下来线程的同步起到铺垫作用。
二、主要内容
- 认识线程
- 线程的生命周期
- 多线程
- 线程的创建方法
- 多线程的应用
- 小结
三、详细内容
3.1、线程的认识
- 同一个程序中各个并发执行的代码片段
- 一个程序任务分解成的并行的子任务
- 处理器调度执行的单位
3.2、线程的生命周期
新建状态、就绪状态、运行状态、挂起状态、死亡状态
3.3、多线程
- 多线程是一种机制。
- 允许在程序中并发执行多个线程
- 多个线程可以同时运行、并发处理
- 可以执行不同的任务、彼此交互
3.4、多线程调度机制
程序 — 多线程 — 调度机制
问题:一般计算机只有一个CPU,如果有多个线程在执行,到底是如何执行的?
- 如果一个线程连续占用CPU时间过长,其他线程得不到执行,则系统会强行切换去执行其他线程。(强制剥夺)
- 如果一个线程目前没有事情可做,CPU可以去执行其他线程。(主动放弃)
- 不同操作系统调度机制不同。
3.5、Java语言中线程的创建方法
在Java语言中我们可以拿来直接使用的——java的系统中有这样的一个类,叫做Thread类。又叫做线程类。
3.6、Java语言中类的继承
3.6.1、对Thread类的继承
- 优点:编写简单
- 缺点:因为线程类已经继承了Thread类,所以不能不再继承其他的父类。
3.6.2、对Runnable接口的实现
- 优点:线程类只是实现了Runnable接口,还可以继承其他的类。
- 缺点:编程稍微复杂。
3.6.3、两种方法比较
类的继承方法:通过对Thread类的继承来实现线程的创建。是比较简单的方法。
接口的创建方法:通过实现Runnable接口来实现线程的创建。是比较灵活的方法。
3.7、实例
见参考视频
3.8、小结
利用生活的实例,我们认识了面向对象编程中的:
- 线程、多线程的概念
- 线程的创建方法
- 多线程在实践中的应用
采用面向对象编程中的多线程技术手段,实现了程序并发执行多任务的功能。
四、参考视频