什么是进程?和线程区别?
1、本质不同
进程是资源的分配和调度的一个独立单元,而线程是CPU调度的基本单元。
2、数量不同
同一个进程中可以包括多个线程,并且线程共享整个进程的资源(寄存器、堆栈、上下文),一个进行至少包括一个线程。
3、过程不同
进程的创建调用fork或者vfork,而线程的创建调用pthread_create,进程结束后它拥有的所有线程都将销毁,而线程的结束不会影响同个进程中的其他线程的结束。
4、属性不同
线程有自己的私有属性TCB,线程id,寄存器、硬件上下文,而进程也有自己的私有属性进程控制块PCB,这些私有属性是不被共享的,用来标示一个进程或一个线程的标志。
1、功能不同
进程是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础。
线程是操作系统能够进行运算调度的最小单位。它被包含在进程之中,是进程中的实际运作单位。
2、工作原理不同
在早期面向进程设计的计算机结构中,进程是程序的基本执行实体;在当代面向线程设计的计算机结构中,进程是线程的容器。程序是指令、数据及其组织形式的描述,进程是程序的实体。
线程是独立调度和分派的基本单位。线程可以为操作系统内核调度的内核线程,如Win32线程;由用户进程自行调度的用户线程,如Linux平台的POSIX Thread;或者由内核与用户进程,如Windows 7的线程,进行混合调度。
3、作用不同
进程是操作系统中最基本、重要的概念。是多道程序系统出现后,为了刻画系统内部出现的动态情况,描述系统内部各道程序的活动规律引进的一个概念,所有多道程序设计操作系统都建立在进程的基础上。
通常在一个进程中可以包含若干个线程,它们可以利用进程所拥有的资源。在引入线程的操作系统中,通常都是把进程作为分配资源的基本单位,而把线程作为独立运行和独立调度的基本单位。
进程的特征:
1、动态性:进程的实质是程序在多道程序系统中的一次执行过程,进程是动态产生,动态消亡的。
2、并发性:任何进程都可以同其他进程一起并发执行
3、独立性:进程是一个能独立运行的基本单位,同时也是系统分配资源和调度的独立单位;
4、异步性:由于进程间的相互制约,使进程具有执行的间断性,即进程按各自独立的、不可预知的速度向前推进
5、结构特征:进程由程序、数据和进程控制块三部分组成。
多个不同的进程可以包含相同的程序:一个程序在不同的数据集里就构成不同的进程,能得到不同的结果;但是执行过程中,程序不能发生改变。
我们说的多进程与多线程究竟哪些区别,严格来说不是一回事。进程你打开任务管理器能看到部分(应用程序),多进程不会互相干扰的,但是会占用系统内存,操作系统是允许多进程的,当一个进程假死,其他的在内存充足的情况下不会受影响,独立完成自己的工作,exe就属于这种。
多线程是个什么意思,一个进程内部,完成某个事件,可以用N个方法一起去做,可以并列也可以排成队,当不出现跨线程安全问题的时候,线程不会阻塞,也能互不干扰完成某个事情,这就叫线程。简单举例,我酷狗音乐内部下载一个大文件,他跟其他操作有关系吗?你下载你的嘛,我继续找下一个点下载,如果有关系就要停下所有工作,看着这个下载完才能进行下一步,所以这里就用到了多线程下载。
你别看他们同名不同姓,明确的说,不是一回事。问这问题你就像是在问李嘉诚与聊城是兄弟吗?早餐跟米饭哪个好吃?人生与人参哪个更有味道?......
2021-12-23 · 百度认证:河南新华电脑学院有限公司官方账号
线程的基本概念 线程是进程中执行运算的最小单位,是进程中的一个实体,是被系统独立调度和分派的基本单位,线程自己不拥有系统资源,只拥有一点在运行中必不可少的资源,但它可与同属一个进程的其它线程共享进程所拥有的...
2.
进程与线程 进程:每个进程都有独立的代码和数据空间(进程上下文),进程间的切换会有较大的开销,一个进程包含1--n个线程。(进程是资源分配的最小单位) 线程:同一类线程共享代码和数据空间,每个线程有独立的运行...