ios面试问题——进程和线程的差别

来源:互联网 发布:用阿里云gpu挖比特币 编辑:程序博客网 时间:2024/05/17 21:48

线程是指进程内的一个执行单元,也是进程内的可调度实体。进程和线程的主要差别在于它们是不同的操作系统资源管理方式。进程有独立的地址空间,一个进程崩溃后,在保护模式下不会对其它进程产生影响,而线程只是一个进程中的不同执行路径。线程有自己的堆栈和局部变量,但线程之间没有单独的地址空间,一个线程死掉就等于整个进程死掉,所以多进程的程序要比多线程的程序 健壮,但在进程切换时,耗费资源较大,效率要差一些。但对于一些要求同时进行并且又要共享某些变量的并发操作,只能用线程,不能用进程。

区别1:调度。线程作为调度和分配的基本单位,进程作为拥有资源的基本单位。

区别2:并发性。不仅进程之间可以并发执行,同一个进程的多个线程之间也可以并发执行。

区别3:拥有资源。进程是拥有资源的一个独立单位,线程不拥有系统资源,但可以访问隶属于进程的资源。

区别4:系统开销。在创建或撤销进程时,由于系统都要为之分配和回收资源,导致系统的开销明显大于创建或撤销线程时的开销。


0 0
原创粉丝点击