IOS 进程、线程与多线程的基本概念和个人理解

进程:
        官话:具有一定独立功能的程序关于某个数据集合上的一次运行活动,进程是系统进行资源分配和调度的一个独立单位。
        个人:执行程序需要将其装载到内存中,分配一定的资源(内存,I/O),以执行此程序,基于此,可以说一个进程是一次执行过程中的程序,是动态的。操作系统进行资源分配的时候只分配到进程,这就是独立单位的意思。

        特点:进程之间是独立的,每个进程独立运行在系统分配的特定内存空间中,有一切必须的资源去完成执行过程.多进程在IOS中可能存在于系统中。

线程:
        官话:线程是程序执行流的最小单元,线程是进程中的一个实体,进程的所有任务都在线程中执行,线程是 CPU 分配资源和调度的最小单位.

        个人:进程分配到资源,需要线程去具体执行操作,线程因为进程存在而存在,因进程结束而结束,一个进程至少有一个主线程。进程和线程是一对多的关系,一个进程可以对应不止一个线程,一个线程只能对应一个进程。

联系:
        1.线程是进程具体执行单元,所有进程的任务都要通过线程来实现。
        2.一个程序可以有多个进程(多进程),一个进程可以有多个线程,而且至少必须有一个线程。
        3.同一进程内的线程共享进程资源,单个线程的崩溃不必然导致进程的崩溃,除非其他线程访问该崩溃线程的内存。
区别:
        1.进程独享地址空间,线程则与同一进程下的其他线程共享地址空间。
        2.进程因为其独立性,在保护模式下,即使崩溃也不会对其他进程产生影响。而线程的崩溃则可能会导致其他线程崩溃,IOS中主线程的崩溃导致整个进程崩溃。
        3.线程是处理器调度的基本单元,进程不是。
        4.线程切换的速度要比进程快得多,因为其资源开销小得多。
        5.在IOS中,因为线程之间共享全局变量、静态变量,因此线程之间的通讯要比进程方便很多。
        6.线程基于进程存在而存在,因此进程可以单独执行,线程则必须依赖于进程而执行。
多线程:
        官话:一个进程可以同时执行多个线程,这些线程之间并发执行,完成不同的任务。
        个人:一个程序需要同时处理不同的任务,而这些任务可以并发执行,通过创建多个线程来同时执行任务,提高程序的执行效率,避免等待。
        优点:
              1.提高程序执行效率,减少无谓等待,
              2.多线程可以提高资源的利用率(CPU,内存等等)。
        缺点:
              1.提高程序复杂度。
              2.因为线程之间共享资源,因此一旦多个线程需要访问同一个资源时,很可能会带来数据错乱和数据丢失等安全问题,容易得不偿失,虽然互斥锁可以在一定程度上解决这个问题,但是会提高CPU消耗。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1. 线程和进程 在了解多线程之前,我们现在熟悉两个概念,线程和进程. 一. 线程 线程:进程的基本执行单元,一个...
    周灬阅读 2,750评论 0 0
  • 1.进程&线程 1.1 定义 进程 进程是系统中正在运行的一个程序(当一个程序进入内存运行时,即成为了一个进程。比...
    沉江小鱼阅读 2,649评论 0 2
  • 进程 1.基本概念进程是指在系统中正在运行的一个应用程序 2.进程的特点a. 每个进程之间都是独立的b.每个进程都...
    Mario_ZJ阅读 3,012评论 0 0
  • 计算机操作系统都有的基本概念,以下概念简单方式来描述。 进程:就是在系统中,正在运行的一个应用程序。线程:是 CP...
    s_在路上阅读 2,865评论 0 0
  • 进程线程线程状态与生命周期iOS中多线程的实现方案 进程 理解为一个正在运行的应用程序,是系统进行资源分配和调度的...
    厦门_小灰灰阅读 1,053评论 0 0