线程与进程异同

2013年4月15日 由 Creater 留言 »

多进程编程或多线程编程可能大家都很熟悉了,并且已经能够应付多种应用场合。但是有些概念确实很重要,一方面笔试面试常考,另一方面可以对深层次加以理解。

进程process

1.进程是系统进行资源分配和调度的一个独立单位,一个程序至少有一个进程,一个进程至少有一个线程。

2.进程切换时,耗费资源较大,效率要差一些。

3.进程在执行过程中拥有独立的内存单元。

线程

1.线程是进程的一个实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位.

2.在Linux下,线程是轻量级的进程。

3.多个线程共享进程的全部资源。

4.线程自己基本上不拥有系统资源,只拥有一点在运行中必不可少的资源(如程序计数器,一组寄存器和栈)。

5.一个线程可以创建和撤销另一个线程。

6.同一个进程中的多个线程之间可以并发执行.

7.线程有自己的堆栈和局部变量,但线程之间没有单独的地址空间,一个线程死掉就等于整个进程死掉。

8.对于一些要求同时进行并且又要共享某些变量的并发操作,只能用线程,不能用进程。

 

 

广告位

发表评论

你必须 登陆 方可发表评论.