zoukankan      html  css  js  c++  java
  • 面向对象编程思想概览(四)多线程

      一、简介 

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

      二、主要内容

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

      三、详细内容

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

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

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

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

      四、参考视频

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

  • 相关阅读:
    Codeforces 950E Data Center Maintenance 强连通分量
    Codeforces Round #469 Div. 2 A B C D E
    Codeforces Round #391 A B C D E
    bzoj 4569 [Scoi2016]萌萌哒 并查集 + ST表
    Codeforces 940F Machine Learning 带修改莫队
    How to read the SQL Server Database Transaction Log
    Mysql 主从复制触发器问题
    Git出现 SSL certificate的处理方法
    mac磁盘启动
    发件人地址重写的几种方法记录
  • 原文地址:https://www.cnblogs.com/da19951208/p/9412613.html
Copyright © 2011-2022 走看看