0
点赞
收藏
分享

微信扫一扫

【多线程 - 01、概述】

千白莫 2023-11-12 阅读 48

进程

三个基本特征

  • 独立性:指进程实体是一个能独立运行、独立获得资源和独立接受调度的基本单位。而对于未建立任何进程的程序,都不能作为一个独立的单位来运行。没有进程本身的同意,其他进程是不能访问到该进程所有的地址空间。
  • 动态性:进程与程序的区别在于,程序只是一个静态的指令集合,而进程是一个正在系统中活动的指令集合。在进程中加入了时间的概念。进程具有自己的生命周期和各种不同的状态,这些概念在程序中都是不具备的。
  • 并发性:多个进程可以在单个处理器上并发执行。

并发性与并行性的区别

  • 并行性:指在同一时刻,有多条指令在多个处理器上同时执行;
  • 并发性:指在同一时刻只能有一条指令执行。但多个进程指令被快速轮换执行,使得宏观上具有多个进程同时执行的效果。

进程的状态

在这里插入图片描述

线程

  • 线程则扩展了进程的概念,使得同一个进程可以同时并发出多个任务
  • 线程是进程的执行单元,是进程的组成部分,一个进程可以拥有多个线程,每个线程必须有一个父进程。
  • 线程是独立运行的,并不知道进程中其他线程的存在。运行的线程被挂起时另外一个线程便可以运行,但是,一个线程可以创建和撤销另一个线程。
  • 一个程序运行后至少有一个进程,一个进程里可以包含多个线程,但至少要包含一个线程
    操作系统可以执行多个任务,每个任务就是进程。一个进程又可以执行多个任务,其中每个任务就是线程

系统中的多线程模型

在这里插入图片描述

多线程的优势

  • 进程之间不能共享内存,但线程之间共享内存非常容易。
  • 系统创建进程时需要为该进程重新分配系统资源,但创建线程则代价小很多,因此使用多线程来实现多个任务并发比多进程的效率高
  • java 语言内置了多线程功能支持,不是单纯地作为底层的调度方式,从而简化了 java 的多线程编程。
举报

相关推荐

0 条评论