0
点赞
收藏
分享

微信扫一扫

多线程的概念

就是耍帅 2022-03-22 阅读 36
java

多线程的概念

1 引入多线程的目的

Java特性之一就是支持多线程,引用多线程的目的充分利用cpu资源。

2 概念

理发这件事需要洗剪吹几个过程。

  • 理发就是一个进程,他包含了理发的完整的过程。
  • 而洗、剪、吹都是线程,用来执行理发这个进程的不同部分
  • 洗剪吹三个线程可以共享进程所拥有的全部资源,比如椅子,镜子,吹风机等

在这里插入图片描述

2.1 程序

程序是为完成特点任务,用某种语言编写的一组指令的集合,即代码的集合。

2.2 进程

进程是指程序的一次动态执行过程,每个程序都对应着一个进程。一个进程包含了从代码加载到执行完成的一个完整过程,进程是操作系统资源分配的最小单元

2.3 线程

  • 线程是进程中执行运算的最小单位,是被系统独立调度和分派的基本单位。每个进程至少拥有一个线程,反过来一个线程只能属于一个进程。同属于一个进程的线程可以共享进程所拥有的全部资源

  • 一个线程可以创建和撤销另一个线程,同一进程下的多个线程可以并发执行。

  • 线程可以对进程的所有资源进行调度和运算。

  • 线程既可以由操作系统内核来控制调度,也可以由用户程序进行控制调度。

优点:

  1. 易于调度
  2. 提高并发性。通过线程可方便有效地实现并发性。进程可创建多个线程来执行同一程序的不同部分
  3. 开销少。创建线程比创建进程要快,所以开销少
  4. 利于充分发挥多处理器的功能。通过创建多线程的进程,每个线程在一个处理器上运行,从而实现应用程序的并发性,使每个处理器都得到充分运行。

2.4 简单理解:程序、进程、线程

  • 打开腾讯会议,就是开了一个进程。
  • 腾讯会议这个进程里,传输声音是一个线程,录制视频是一个线程,输入文字是一个线程。也就是说多个线程做的多个工作,组成一个完整的进程。
  • 进程就是正在执行的程序。

2.5 进程与线程的区别

在这里插入图片描述

2.6 串行、并行与并发

串行:多个任务,执行时一个执行完再执行另一个

并发: 是指一个或若干个CPU对多个进程和线程之间进行多路复用,即CPU轮着执行多个任务,每个任务都执行一小段时间,从宏观上看起来就像是全部任务都在同时执行一样。

并行: 则是指多个进程或线程同一时刻被执行,这是真正意义上的同时执行,它必须要有多个CPU支持。

在这里插入图片描述

在这里插入图片描述

举报

相关推荐

0 条评论