发布网友 发布时间:2022-03-26 04:49
共2个回答
懂视网 时间:2022-03-26 09:11
ios开发进程与线程的区别是概念不同以及操作系统资源管理方式不同。
1、概念不同:线程是CPU运行和调度的基本单位,可以理解为一个进程中执行的代码片段;而ios开发进程是资源分配的基本单位,进程是一块包含了某些资源的内存区域。
2、操作系统资源管理方式不同:进程有的地址空间,一个进程崩溃后,在保护模式下不会对其它进程产生影响;但线程之间没有单独的地址空间,一个线程死掉就等于整个进程死掉。
总结:
ios开发进程与线程的区别是概念不同以及操作系统资源管理方式不同。
热心网友 时间:2022-03-26 06:19
进程:
进程之间不共享任何状态,进程的调度由操作系统完成,每个进程都有自己的内存空间,进程间通讯主要是通过信号传递的方式来实现的,实现方式有多种,信号量、管道、事件等,任何一种方式的通讯效率都需要过内核,导致通讯效率比较低。
线程:
线程之间共享变量,解决了通讯麻烦的问题,但是对于变量的访问需要锁,线程的调度主要也是有操作系统完成,一个进程可以拥有多个线程,但是其中每个线程会共享父进程像操作系统申请资源,这个包括虚拟内存、文件等,由于是共享资源,所以创建线程所需要的系统资源占用比进程小很多,相应的可创建的线程数量也变得相对多很多。线程时间的通讯除了可以使用进程之间通讯的方式以外还可以通过共享内存的方式进行通信,所以这个速度比通过内核要快很多。另外在调度方面也是由于内存是共享的,所以上下文切换的时候需要保存的东西就像对少一些,这样一来上下文的切换也变得高效。