首页 > 技术文章 > 面向对象编程思想概览(四)多线程

da19951208 2018-08-03 10:33 原文

  一、简介 

  本讲通过生活中的事例——家庭主妇进行烧水、洗衣、清扫、做饭四项活动,认识什么是线程,学习理解线程的生命周期和创建方法,理解什么是多线程并学习其如何应用。为接下来线程的同步起到铺垫作用。

  二、主要内容

  • 认识线程
  • 线程的生命周期
  • 多线程
  • 线程的创建方法
  • 多线程的应用
  • 小结

  三、详细内容

   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、小结

  利用生活的实例,我们认识了面向对象编程中的:

  • 线程、多线程的概念
  • 线程的创建方法
  • 多线程在实践中的应用

  采用面向对象编程中的多线程技术手段,实现了程序并发执行多任务的功能。

  四、参考视频

   太原理工大学公开课:面向对象编程思想概览 — 多线程

推荐阅读