第一次作业(线程与进程)

名词解释:
进程(Process):进程是程序的一次执行;
线程(Thread):线程为进程中的执行的一段程序片段。

区别:
(1)地址空间:进程内的一个执行单元;进程至少有一个线程;它们共享进程的地址空间;而进程有自己独立的地址空间;
(2)资源拥有:进程是资源分配和拥有的单位,同一个进程内的线程共享进程的资源
(3)线程是处理器调度的基本单位,但进程不是。

Linux下的区别及表现形式:
(1)进程是:程序执行时的一个实例,即程序已经执行到课中程度的数据结构的汇集。
线程是:进程的一个执行流,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位,一个进程由几个线程组成。
(2)”进程——资源分配的最小单位,线程——程序执行的最小单位”
(3)进程有独立的地址空间,一个进程崩溃后,在保护模式下不会对其它进程产生影响,而线程只是一个进程中的不同执行路径。
(4)线程有自己的堆栈和局部变量,但线程没有单独的地址空间,一个线程死掉就等于整个进程死掉,所以多进程的程序要比多线程的程序健壮,但在进程切换时,耗费资源较大,效率要差一些。但对于一些要求同时进行并且又要共享某些变量的并发操作,只能用线程,不能用进程。
并发问题:
多个thread同时调用一个函数,如果函数有公共变量或者全局变量,很有可能会造成错误的状态和结果。
并发的为线程

你可能感兴趣的:(Linux)