程序、进程和线程

程序、进程和线程

指令按照既定的逻辑控制计算机运行,程序是一组指令及参数的集合。
进程则是运行着的程序。
线程是进程中共享进程资源的一个执行单位。

程序和进程的区别:

程序作为一个静态文件存储在计算机系统的硬盘等存储空间中。
进程则是处于动态条件下由操作系统维护的资源管理实体。可以从以下几个方面进行区别:

进程是动态的,而程序是静态的。
进程有生命周期,而程序是指令的集合,本身无"运动"的含义。
一个进程只能对应一个程序,一个程序可以对应多个进程。进程和程序的关系就像戏剧和剧本之间的关系。

进程和线程

操作系统是软件系统的运行环境,操作系统和性能最相关的就是进程和线程。进程和线程都是为了进一步提升单机性能,主要是CPU和内存利用效率。

进程
进程是运行着的程序,用来对应一个任务。每个进程都有自己独立的内存空间,进程间互不相关。

为了达成多进程共同运行,把CPU的时间分成很多片段,每个时间片段只能执行某一个进程的指令。
进程之间可以通信,进程间通信方式包括管道、消息队列、信号量、内存共享等。

进程是操作系统分配资源的最小单位。

线程
很多进程内部的子任务并不严格要求按照时间顺序来执行,也需要并行处理。为了解决这个问题来,人们发明了线程用来进一步提升单机性能。

线程是进程的一部分,是进程内部的子任务,一个进程最少有一个线程,这些子任务共享同一份进程数据,使用互斥锁等机制保证数据的正确性。

线程是操作系统调度的最小单位。

猜你喜欢

转载自blog.csdn.net/Veritas_C/article/details/83501730