并发编程(2)进程/线程的理解

来源:互联网 发布:linux 没有rc.local 编辑:程序博客网 时间:2024/05/19 07:11

进程与线程的理解:

      进程与线程主要是为了解决操作系统并发的问题而产生的,实际情况中,当操作系统每做一件事,都会运行一个任务,而所有运行的任务通常就是一个程序,每个运行中的程序就是一个进程;当一个程序运行时,内部可能会包含多个顺序执行流,每个顺序执行流就是一个线程。

       简而言之,进程就是程序执行的一个实例,是系统进行资源分配和调用的独立单位,每一个进程都有自己的独立的一块内存空间、一组资源系统,其内部数据和状态都是完全独立的。

      线程是指进程中的一个执行流程,一个进程中可以运行多个线程,进程中的多个线程共享进程的内存。

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

 守护进程:

        在系统的引导的时候会开启很多服务,这些服务就叫做守护进程,也叫后台服务程序,它的生命周期较长,在系统关闭时终止。

 

 


0 0
原创粉丝点击