进程的定义
进程是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础。在早期面向进程设计的计算机结构中,进程是程序的基本执行实体;在当代面向线程设计的计算机结构中,进程是线程的容器。程序是指令、数据及其组织形式的描述,进程是程序的实体。
线程的定义
线程是操作系统能够进行运算调度的最小单位。它被包含在进程之中,是进程中的实际运作单位。一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线程并行执行不同的任务。在Unix System V及SunOS中也被称为轻量进程,但轻量进程更多指内核线程,而把用户线程称为线程。
进程与线程的区别
区别一:
任何的一个程序都必须有且有一个以上的进程,而相对于一个进程而言也必须要有且有一个以上的线程。相对于进程而言,对线程进行划分的尺度一般要小很多,这就导致了多线程的一些程序能够出现更高的并发性。进程是执行中的一段程序,而一个进程中执行中的每个任务即为一个线程。一个线程只可以属于一个进程,但一个进程能包含多个线程。
区别二:
在执行进程的时候,一般会具有相互独立的多个内存单元。但是多个线程是可以共享内存的,这样运行效率就很大的程度上被提高了。相对于单个的独立进程而言都会有相应程序的运行入口以及一些程序等出口。线程就不一样了,它不能独立的去执行而必须要依附在相应的应用程序里面。这样的话应用程序就可以执行多个线程并进行相应的控制。
区别三:
多线程这样的意义是相对于在一个应用程序里面的,能够同时的执行。而操作系统不会认为多个线程就是多个独立应用,因此也就不会使其调度以及管理实现资源的分配。简单地讲线程就是运行活动的集合,它是所有独立功能程序集中于一点的数据集合,进程是独立的单位,它是由系统来进行分配资源以及调度的。在CPU系统上面,线程使得CPU系统更加有效,因为操作系统会保证当线程数不大于CPU数目时,不同的线程运行于不同的CPU上。
标签:多个,区别,程序,线程,进程,执行,CPU From: https://www.cnblogs.com/Lsqq/p/16804238.html