进程与线程的关系和区别 CPU调度简介

进程是具有一定独立功能的程序关于某个数据集合上的一次运行活动,进程是系统进行资源分配和调度的一个独立单位。

线程是进程的一个实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位。

进程和线程的关系:

(1)一个线程只能属于一个进程,而一个进程可以有多个线程,但至少有一个线程。

(2)资源分配给进程,同一进程的所有线程共享该进程的所有资源。

(3)处理机分给线程,即真正在处理机上运行的是线程。

(4)线程在执行过程中,需要协作同步。不同进程的线程间要利用消息通信的办法实现同步。

进程与线程的区别:

(1)调度:线程作为调度和分配的基本单位,进程作为拥有资源的基本单位

(2)并发性:不仅进程之间可以并发执行,同一个进程的多个线程之间也可并发执行

(3)拥有资源:进程是拥有资源的一个独立单位,线程不拥有系统资源,但可以访问隶属于进程的资源.

(4) 系统开销:在创建或撤消进程时,由于系统都要为之分配和回收资源,导致系统的开销明显大于创建或撤消线程时的开销。但是进程有独立的地址空间,一个进程崩溃后,在保护模式下不会对其它进程产生影响,而线程只是一个进程中的不同执行路径。线程有自己的堆栈和局部变量,但线程之间没有单独的地址空间,一个进程死掉就等于所有的线程死掉,所以多进程的程序要比多线程的程序健壮,但在进程切换时,耗费资源较大,效率要差一些

结论:

(1)线程是进程的一部分

(2)CPU调度的是线程

(3)系统为进程分配资源,不对线程分配资源

返回栏目页:http://www.bianceng.cnhttp://www.bianceng.cn/Programming/extra/

时间: 2024-12-24 08:45:46

进程与线程的关系和区别 CPU调度简介的相关文章

CPU进程与线程的关系和区别

  进程是具有一定独立功能的程序关于某个数据集合上的一次运行活动,进程是系统进行资源分配和调度的一个独立单位. 线程是进程的一个实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位. 进程和线程的关系: (1)一个线程只能属于一个进程,而一个进程可以有多个线程,但至少有一个线程. (2)资源分配给进程,同一进程的所有线程共享该进程的所有资源. (3)处理机分给线程,即真正在处理机上运行的是线程. (4)线程在执行过程中,需要协作同步.不同进程的线程间要利用消息通信的办法实现同

进程和线程的区别和关系

问题描述 进程和线程的区别和关系 进程和线程的区别和关系,网上和书上说的都很专业,不是很好理解. 解决方案 进程:一个正在运行的程序就叫一个进程 比如说手机打开的一个应用就是一个进程 多进程:多个程序同时运行 叫多进程 比如手机同时打开这多个程序 听着歌上着QQ 线程:一个程序 或者说 一个进程 都会有一个 或多个线程 比如说听歌 你进应用之后一直在点击听歌 更换模式这些按钮 处理你点击按钮产生的作用的就是线程 你能看见的都是操作都是主线程在完成 你看不见的比如你虽然在听歌 但是歌曲也正在缓存这

嵌入式-进程,线程还有后台有哪些区别?

问题描述 进程,线程还有后台有哪些区别? 各位大神,请问后台,线程以及进程之间的区别是什么?各位大神,请问后台,线程以及进程之间的区别是什么?各位大神,请问后台,线程以及进程之间的区别是什么?各位大神,请问后台,线程以及进程之间的区别是什么? 解决方案 先讲后台: 一个线程是前台线程还是后台线程可由它的IsBackground属性来决定.前台线程和后台线程.这两者的区别就是:应用程序必须运行完所有的前台线程才可以退出:而对于后台线程,应用程序则可以不考虑其是否已经运行完毕而直接退出,所有的后台线

线程同步机制的区别与比较及进程通信方法

http://hi.baidu.com/wobash/blog/item/4c1de9464899c40f6a63e500.html 线程同步机制的区别与比较及进程通信方法 2008-08-29 14:07 有关多线程的一些技术问题: 1.   何时使用多线程? 2.   线程如何同步? 3.   线程之间如何通讯? 4.   进程之间如何通讯? 先来回答第一个问题,线程实际主要应用于四个主要领域,当然各个领域之间不是绝对孤立的,他们有可能是重叠的,但是每个程序应该都可以归于某个领域: 1.  

进程与线程的区别

问题描述 请各位大哥大姐们给我说说,进程与线程的区别吧.我都遇到两次啦.每次面试都有这个问题!急求. 解决方案 解决方案二: 解决方案三:进程就是键盘,线程就是按钮....一个键盘有好多按钮,实现不同的功能...如果其中两个按钮一起按就会冲突...如果串线就可能按A得B.........解决方案四:最近cnblogs上有一个讲的解决方案五:引用2楼llxzj60的回复: 进程就是键盘,线程就是按钮....一个键盘有好多按钮,实现不同的功能...如果其中两个按钮一起按就会冲突...如果串线就可能按

我有点不太懂,进程和线程的有什么样的区别?

问题描述 我有点不太懂,进程和线程的有什么样的区别?还请哪为大虾帮帮忙.... 解决方案 解决方案二:进程包含线程解决方案三:那么懒,自己不会baidu?解决方案四:线程可以说是进程的最小组成单位.通俗的说法解决方案五:进程可以理解为一个物理概念,它里面包含了该程序要执行所需的资源,而线程是用来执行进程的,一个进程里面最少有一个线程,但也可以有很多线程解决方案六:一对多的关系吧解决方案七:如果想深入学习进程和线程的话,可以看操作系统方面的书解决方案八:线程是一种操作系统对象,代表着一个进程中要被

深入浅析WinForm 进程、线程及区别介绍_实用技巧

一.进程 进程是一个具有独立功能的程序关于某个数据集合的一次运行活动. 它可以申请和拥有系统资源,是一个动态的概念,是一个活动的实体. Process 类,用来操作进程. 命名空间:using System.Diagnostics; Process.Start("calc"); //打开计算器 Process.Start("mspaint"); //打开画图 Process.Start("iexplore" , "http://www.

Linux下CPU使用率与机器负载的关系与区别

当我们使用top命令查看系统的资源使用情况时会看到 load average,如下图所示.它表示系统在1.5.15分钟的平均工作负载.那什么是负载(load)呢?它和CPU的利用率又有什么关系呢? load average: 系统平均负载是CPU的Load,它所包含的信息不是CPU的使用率状况,而是在一段时间内CPU正在处理以及等待CPU处理的进程数之和的统计信息,也就是CPU使用队列的长度的统计信息.这个数字越小越好. 01.CPU负载和CPU利用率的区别 CPU利用率:显示的是程序在运行期间

我理解的进程和线程的区别

Review: 我理解的进程和线程的区别,不对的大家请指正 1.进程是系统资源分配的最小单位,线程不是: 2.线程必须依赖进程存在,进程不需要: 3.线程之间共享内存空间,进程之间不共享,但是进程有自己丰富的通信方式: 多线程共存于应用程序中是现代操作系统中的基本特征和重要标志. 用过UNIX操作系统的读者知道进程,在UNIX操作系统中,每个应用程序的执行都在操作系统内核中登记一个进程标志,操作系统根据分配的标志对应用程序的执行进行调度和系统资源分配,但进程和线程有什么区别呢?  进程和线程都是