Android开发艺术探索笔记(3)- 进程和线程

来源:互联网 发布:西北师大知行学院贴吧 编辑:程序博客网 时间:2024/04/30 08:50

面试的时候也会经常被问到进程线程的区别,我觉得书中说的有点笼统,所以自己有百度了一下,结合书中所讲总结一下。

进程
进程是系统进行资源分配和调度的一个独立执行单位,每个进程都有一个单独的地址空间。简单来说,程序不能单独运行,必须加载到内存,然后系统为其分配资源才能够执行,这么的一个执行程序就是一个进程。意思和作者说的差不多,只是这里详细说了进程的定义。

线程
线程是CPU调度的基本单位,是进程的一个实体。线程不拥有系统资源,也没有自己地址空间,但它可以和所属同一进程的其他线程同享这个进程所拥有的全部系统资源。线程也不能单独运行,必须依存在进程中运行。所以同作者所说,一个进程可以有很多个线程。进程与线程是包含与被包含的关系。

线程与进程主要区别
进程有独立的地址空间,一个进程崩溃后,在保护模式下,不会对其他进程造成影响。而线程没有自己地址空间,一旦其中一个线程崩溃后,就等于一个进程崩溃。所以多进程程序要比多线程程序健壮。但是进程之的通信要比线程间通信复杂的多,进程之间的切换效率也要比线程之间切换多。

以上是我根据百度,再结合书中总结出来的。错误之处烦请指出,谢谢!!

0 0
原创粉丝点击