进程和线程的区别是什么?
进程是程序在计算机中数据集上的运行活动,是系统资源分配和调度的基本单位,是操作系统结构的基础。
线程是操作系统可以调度操作的最小单位。它包含在流程中,是流程中的实际操作单元。
2、工作原理不同
在早期面向进程设计的计算机结构中,进程是程序的基本执行实体;在当代面向线程的计算机体系结构中,进程是线程的容器。程序是指令、数据及其组织形式的描述,进程是程序的实体。
线程是独立调度和分派的基本单位。线程可以是由操作系统内核调度的内核线程,例如Win32线程;用户进程自己调度的用户线程,比如POSIX线程;在Linux平台上;或者混合内核和用户进程(如Windows 7线程)进行调度。
3.不同的功能
进程是操作系统中最基本也是最重要的概念。它是在多道程序系统出现后引入的概念,目的是为了描述系统中的动态情况,描述系统中各个程序的活动规律。所有多道程序操作系统都是基于进程的。
通常,一个进程可以包含几个线程,这些线程可以利用进程所拥有的资源。在有线程的操作系统中,进程通常被视为分配资源的基本单位,而线程则被视为独立运行和独立调度的基本单位。
扩展数据
进程由进程控制块、程序段和数据段组成。一个进程可以包含几个线程,线程可以帮助应用同时做几件事(比如一个线程向磁盘写文件,另一个线程接收用户的击键并及时反应,互不干扰)。
程序运行后,系统首先要做的是为程序进程建立一个默认线程,然后程序可以根据需要添加或删除相关线程。是一个可以并发执行的程序。
数据集上运行的进程是系统进行资源分配和调度的独立单元,也称为活动、路径或任务。它有两个属性:活动性和并发性。
进程可以分为运行、阻塞、就绪三种状态,它们在一定的条件下相互转化。准备运行、运行阻塞和阻塞就绪。
进程是应用程序的运行实例和应用程序的动态执行。看似深奥,我们可以简单理解为:它是操作系统当前运行的执行程序。
系统中当前运行的执行程序包括:系统管理单台计算机和完成各种操作所必需的程序;用户打开并执行的额外程序,当然也包括用户不知道并自动运行的非法程序(可能是病毒程序)。
百度百科-线程
百度百科-流程