进程概念:
我们可以将进程(process)看作执行的程序。进程需要一定的资源,如CPU时间、内存、文件和I/O设备,以便执行任务。这些资源在创建进程或执行进程时得以分配。
程序本身不是进程,程序只是被动实体,如存储在磁盘上包含一系列指令的文件(经常称为可执行文件)。相反,进程是活动实体,具有一个程序计数器用于表示下个执行命令和一组相关资源。总而言之,当一个可执行文件被加载到内存时,这个程序就成为了进程。
进程状态:
进程在执行时会改变状态。进程状态,部分取决于进程的当前活动。每个进程可能处于以下状态:
- 新的(new):进程正在创建。
- 运行(running):指令正在执行。
- 等待(waiting):进程等待发生某个事件如I/O完成或收到信号。
- 就绪(ready):进程等待分配处理器。
- 终止(terminated):进程已经完成任务。
线程概述:
每个线程都是CPU使用的一个基本单元,它包括线程ID、程序计数器、寄存器组和堆栈。它与同一个进程共享代码段、数据段和其他操作系统资源,如打开文件和信号。每个传统或重量级进程只有单个控制线程。如果一个进程具有多个控制线程,那么它就能同时执行多个任务。现代计算机运行的大多数应用软件都是多线程的。
多线程的优点:
- 响应性:如果一个交互程序采用多线程,那么即使部分阻塞或执行冗长操作,它仍可以继续执行,从而增加用户的相应程度。
- 资源共享:线程默认共享它们所属进程的内存和资源。它允许一个应用程序在同一地址空间内有多个不同活动线程。
- 经济:进程创建所需的内存和资源分配非常昂贵,而线程能够共享它们所需进程的资源,所以创建和切换线程更加经济。
- 可伸缩性:对于多处理器体系结构,多线程的优点更大,因为线程可以在多处理核上运行。
标签:执行,区别,程序,线程,内存,进程,多线程 From: https://www.cnblogs.com/mypfit/p/16824102.html