一.程序,进程,线程的区别。
程序
一般的情况,程序可以认为是在特定的操作系统上可执行的文件。也就是源码经过编译,链接而形成的可执行文件,他依赖于执行的操作系统,因为正是操作系统提供了该程序的运行环境(运行库等。),他是一个静态的概念。
进程
进程是一个动态的概念,它有自己的地址空间,能执行一些操作。程序的执行都会伴随进程的生成,一个程序的执行会有一个或者多个进程的生成。
程序和进程的区别
1.进程是动态的,而程序是静态的。
2.进程有一个生命周期,而程序是指令集合,
3.1个程序可以产生多个进程,一个进程只能对应一个程序。
线程
线程是进程的一个实体,是cpu调度和分派的一个基本单位,它是比进程更小的能独立运行的基本单位.线程自己基本上不拥有系统资源,值拥有一些在运行中必不可少的系统资源(如程序计数器,一组寄存器和栈),但是它能够和同属于一个进程内的其他线程共享这个进程内所拥有的全部资源。
总结:一个进程可以有多个线程,一个进程内的线程可以共享本进程内的所有资源(如cpu 内存 文件系统 网络IO)