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

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

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

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

      四、参考视频

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

  • 相关阅读:
    ASP.NET Core多环境配置文件问题
    .NET Core中Object Pool的简单使用
    Refit在ASP.NET Core中的实践
    HttpClientFactory与Steeltoe结合来完成服务发现
    用HttpClientFactory来实现简单的熔断降级
    看看.NET Core几个Options的简单使用
    再探Circuit Breaker之使用Polly
    谈谈Circuit Breaker在.NET Core中的简单应用
    在.NET Core中使用简单的插件化机制
    谈谈ASP.NET Core中的ResponseCaching
  • 原文地址:https://www.cnblogs.com/da19951208/p/9412613.html
Copyright © 2011-2022 走看看