程序、进程和线程之间的区别?

程序:含有指令和数据的文件,被存储在磁盘或其他的数据存储设备中,也就是说程序是静态的代码。

进程:程序的一次执行过程,是系统运行程序的基本单位,因此进程是动态的。系统运行一个程序就是一个进程从创建、运行到消亡的过程。

简单来说,一个进程就是一个执行中的程序,它在计算机中一个指令接着一个指令执行着,同时,每个进程还占有某些系统资源如CPU时间,内存空间,文件,输入输出设备的使用权等。

线程:个进程在其执行的过程中可以产生多个线程。与进程不同的是同类的多个线程共享同一块内存空间和一组系统资源,所以系统在产生一个线程,或是在各个线程之间作切换工作时,负担要比进程小得多,也正因为如此,线程也被称为轻量级进程。

 

线程上下文的切换比进程上下文的切换快得多

  • 进程切换时,涉及到当前进程的CPU环境的保存和新被调度运行进程的CPU环境的设置。
  • 线程切换仅需要保存和设置少量的寄存器内容,不涉及存储管理方面的操作。
posted @ 2019-01-09 17:21  林木声  阅读(2225)  评论(0编辑  收藏  举报