谈一谈自己对线程,进程的理解。

进程  一段程序的执行的实例化,是一个实体,每一个进程都有自己的地址空间。三个状态,就绪,运行和阻塞。就绪就是等待处理器分配资源后可以立即执行,阻塞就是条件不够的时候,需要等到条件满足时才能执行。

线程  一个进程中可以包含若干个线程,当然一个进程中至少有一个线程,不然没有存在的意义。线程可以利用线程所拥有的资源,在引入线程的操作系统中,通常都是把进程作为分配资源的基本单位,而把线程作为独立运行和独立调度的基本单位,由于线程比进程小,基本上不拥有系统资源,故对它的调度要付出的开销就会小很多,能更高效的提高系统多个程序间并法执行的程度。

多线程 在一个程序中,这些独立运行的程序片段叫做“线程”,而利用它编程的概念就叫作“多线程处理”,为了同步完成多项任务,不是为来提高运行效率,而是为来提高资源使用效率来提高系统效率。

进程和线程的主要区别于不同的操作系统资源管理的方式,进程有独立的地址空间,每当一个进程意外崩溃后,在保护模式下不会对其他的进程产生影响,而线程只是一个进程的不同执行路径。线程有自己的堆栈和局部变量,但线程之间没有独立的地址空间。一个线程的死掉等于整个进程死掉,所以多进程的程序比多线程的程序健壮,但在进程切换时,耗费资源较大,效率要低一些。

总之 一个程序至少有一个进程,一个进程至少有一个线程。

         线程的划分尺度小于进程,使得多线程的并发性gao高。

         进程在执行过程中拥有独立的内存单元,而多个线程共享内存,从而极大的提高了程序的运行效率。

         2018 -8-28 面试心得

 

 

你可能感兴趣的:(心得体会)