美文网首页
iOS进程和线程

iOS进程和线程

作者: 咸鱼KING | 来源:发表于2018-03-13 16:00 被阅读0次

进程:进程是处于运行过程中的程序,是系统资源分配和调度的一个独立单位,简单的理解就是用来帮程序占据一定的存储空间的。进程拥有自己独立的位置空间,在没有经过进程本身允许的情况下,其他进程不能访问改进程的地址空间。

线程:线程是进程的一部分,它是进程中用来执行任务的单位。一个进程可以拥有多个线程,但最少要有一个主线程;每个线程不能独立执行,必须有一个父进程;线程可以拥有自己的堆、栈、计数器和局部变量,一个进程里的全部线程会共享该进程的资源。线程是独立运行的,一个线程并不知道其它线程的存在,在线程运行过程中随时都有可能被挂起,方便其他线程运行;线程是有优先级的,当然主线程的优先级最高,在我们编程的时候也可以设置线程1执行完毕后才执行线程2

进程和线程的比较:线程是 CPU 调用的最小单位,进程是 CPU 分配资源和调度的单位,一个程序可以对应过个进程,一个进程中可有多个线程,但至少要有一条线程,同一个进程内的线程共享进程资源。

进程之间不能共享内存,线程可以,同一个进程中的线程共享了所在进程的很多资源,包括:进程虚拟空间、进程代码段、进程共有数据等,因此线程之间更容易相互通信,多线程的运行效率远远高于多进程;

系统创建进程的时候要为其分配系统资源,而创建线程则只需要很小一部分,因此多线程比多进程来的更加容易;

多线程可以充分利用处理器(双核或者多核),但是当线程数量达到上限的时候,性能就不在提升了;

多线程的进程中一个线程崩溃了就会导致进程崩溃,如果是主线程崩溃会导致程序崩溃,但是多进程中子进程崩溃了不会影响到其它进程,程序稳定性更好;

多线程需要控制线程之间的同步,而多进程则需要控制和主进程之间的交互;

如果两个进程之间要相互传输大量的数据,会相当影响性能,多进程适合小数据量传输,密集运算;

相关文章

  • 进程、线程、多进程、多线程、任务、队列、NSThread、GCD

    推荐阅读:备战2020——iOS全新面试题总结 进程 线程 进程和线程的关系 多进程 多线程 任务 队列 iOS中...

  • 2019 -----进程、线程、多进程、多线程、任务、队列、NS

    进程 线程 进程和线程的关系多进程 多线程 任务 队列 iOS 中的多线程 一、进程 1.进程是一个具有一定独立功...

  • IOS2

    一、进程和线程:什么是进程? 什么是线程? 多线程原理? 二、多线程 iOS中多线程实现方案: 1.pthread...

  • iOS_进程与线程(多进程与多线程)

    iOS_进程与线程(多进程与多线程)

  • iOS内存映射mmap详解

    进程和线程? 因为后面的知识涉及到进程,所以我们先来简单了解一下进程和线程。下面的内容摘自iOS-线程&&进程的深...

  • iOS 整理-线程篇

    什么是进程和线程进程和线程之间的关系什么是任务和队列多线程中同步异步,串行并行iOS中多线程的区别:NSThrea...

  • iOS开发多线程篇—多线程简单介绍

    iOS开发多线程篇—多线程简单介绍 一、进程和线程 1.什么是进程 进程是指在系统中正在运行的一个应用程序 ...

  • iOS进程和线程

    进程 进程是指在系统中正在运行的一个应用程序,每个进程之间是独立的,每个进程均运行在其专用且受保护的内存空间内,i...

  • iOS进程和线程

    进程:进程是处于运行过程中的程序,是系统资源分配和调度的一个独立单位,简单的理解就是用来帮程序占据一定的存储空间的...

  • iOS进程和线程

    1. 什么是程序、进程、线程 1.1 程序: 由源代码生成的可执行应用。(例如:QQ.APP) 1.2 进程: ...

网友评论

      本文标题:iOS进程和线程

      本文链接:https://www.haomeiwen.com/subject/pgpzfftx.html