扬庆の博客

多线程

字数统计: 835阅读时长: 2 min
2022/03/22 Share

多线程

一、进程,线程

一、进程

  • 1.进程是一个具有一定独立功能的程序,关于某次数据集合的一次运行活动,它是操作系统分配资源的基本单元。
  • 2.进程是指在系统中正在运行的应用程序,就是一段程序的执行过程,我们可以理解为手机上的一个app。
  • 3.每个进程之间是独立的, 每个进程均运行在其专用且受保护的内存空间内,拥有独立运行所需的全部资源。

二、线程

  • 1.程序执行流的最小单元, 线程是进程中的一个实体。
  • 2.一个进程想要执行任务,必须至少有一条线程,应用程序启动的时候,系统会默认开启一条线程,也就是住线程

三、进程和线程的关系

  • 1.线程是进程的执行单元,进程的所有任务都在线程中执行
  • 2.线程是CPU分配资源和调度的最小单元
  • 3.一个程序可以对应多个进程(多进程),一个进程中可有多个线程,但至少要有一条线程
  • 4.同一个进程内的线程共享进程资源

二、多进程,多线程

多进程

打开Mac的活动监视器, 就可以看到多个进程同时运行。

  • 进程是程序在计算机上的一次执行活动。当你运行一个程序,你就启动了一个进程。显然,程序是死的(静态的),进程是活的(动态的)。
  • 进程可以分为系统进程和用户进程。凡是用于完成操作系统的各种功能的进程就是系统进程,他们就是处于运行状态下的操作系统本身;所有由用户启动的进程都是用户进程。进程是操作系统进行资源分配的单位。
  • 进程又被细化为线程,也就是一个进程下多个能独立运行的更小单位。在同一个时间里,同一个计算机系统中如果允许两个或者以上的进程处于运行状态,这便是多进程。

多线程

  1. 同一时间里,CPU只能处理一条线程,只有一条线程在执行。多线程并发执行,其实是CPU快速地在多条线程之间调度(切换)。如果CPU调度线程的时间足够快,就造成了多线程并发执行的假象。
  2. 如果线程非常非常多,CPU会在N条线程之间调度(切换),消耗大量的CPU资源,每条线程被调度执行的频次会降低(线程的执行效率降低)
  3. 多线程优点:

​ 能适当提高程序的执行效率

​ 能适当提高资源利用率(CPU、内存利用率)

  1. 多线程的缺点:

​ 开启线程需要占用一定的内存空间(默认情况下,主线程占用1M,子线程占用512KB),如果开启大量的线程,会 占用大量的内存空间,降低程序的性能,线程越多CPU在调度(切换线程)上的开销就越大

​ 程序设计更加复杂: 比如线程之间的通信,多线程的数据共享。

CATALOG
  1. 1. 多线程
    1. 1.1. 一、进程,线程
    2. 1.2. 一、进程
    3. 1.3. 二、线程
    4. 1.4. 三、进程和线程的关系
  2. 2. 二、多进程,多线程
    1. 2.1. 多进程
    2. 2.2. 多线程