线程与进程-- 简单的解释

最近这段时间小编有点自卑,但是还是要按时的冒一下泡!!!!!!

在学习过程中经常听到进程与线程的概念,这几天了解了下线程与进程之间的关系,把自己的想法分享一下:

感谢:http://www.tuicool.com/articles/vMfIjy

进程(process)和线程(thread)是操作系统的基本概念。

最近,我读到一篇材料,发现有一个很好的类比,可以把它们解释地清晰易懂。

假设我们每个人都有一个房子( 想想眼里就都是泪 ),这个房子有一个很洋气的名字,叫做”Process“,房子里面有楼梯、卧室、厨房、卫生间等等。我们要讲的进程Process和这个房子一样,自己无法主动去干点什么的。

但是这个房子里面居住的我们亲戚朋友和兄弟姐妹,却可以利用这个房间干很多事情,他们就是一个一个的Thread。

如果只有你一个人住在这个房子里面,那么你就可以为所欲为,把所有的空间占为己有:用卫生间、洗澡等等,这就是“单线程”,即Single Threaded. 你终于不甘寂寞,并且用尽浑身解数,找到了一个girl或boy与你同住,后来为了分担房租,又找来某一个好朋友一起合租,屋子里面人多了,这就是多线程,Multi Threaded。

你们好几个Thread在一起,共用这个房间的空间( 一个Process的内存空间对于Thread是共享的 ),相安无事,和谐共处。

可是问题来了,大家可以共享房间的空间,但是并不表示多个人可以同时占用一个空间,比如厕所,一次只能去一个人,所以为了防止多人同时进入的情 况,因此每个人上厕所的时候,都会在门口挂一个锁,名字叫“Mutual exclusion”(互斥现象),防止多个Thread同时去使用一个内存空间,只有一个Thread用完后,其他Thread才可以用。

有些地方大家都可以去,但是空间有限,只能去固定的人数,比如厨房,去的人多了,容不下,因此会在门口挂上几把钥匙,进去一个人取一个钥匙,出来 的时候再把钥匙给放在原地,所以厨房人满的时候,后面要进的人,一看没有钥匙,就会在门口等待了,这种做法叫做:Semaphore(信号联络)。

时间: 2024-10-03 07:01:48

线程与进程-- 简单的解释的相关文章

线程和进程的通俗易懂解释(还有你想看的图片哟)

QQ程序如果没有运行,那它只是程序,而不是进程,一旦运行了QQ程序,那它就成了进程.QQ程序一旦运行成了进程,操作系统如windows就要分配给QQ运行的内存空间,CPU运行的时间以及其它资源,这样QQ程序就可正常运行了.如果要运行其它程序,如杀毒软件,操作系统也要做同样的事情.有了进程之后,最大的好处就在于电脑可以同时运行多个程序,每个程序就是一个进程.而如果没有进程呢,那电脑一次只能运行一个程序,你玩QQ,就不能再同时听歌.玩游戏等等:如果你想要听歌,只能关掉QQ,再打开听歌曲的软件进行听歌

进程和线程的一个简单的解释

转载于:http://www.ruanyifeng.com/blog/2013/04/processes_and_threads.html 进程(process)和线程(thread)是操作系统的基本概念,但是它们比较抽象,不容易掌握. 最近,我读到一篇材料,发现有一个很好的类比,可以把它们解释地清晰易懂. 1. 计算机的核心是CPU,它承担了所有的计算任务.它就像一座工厂,时刻在运行. 2. 假定工厂的电力有限,一次只能供给一个车间使用.也就是说,一个车间开工的时候,其他车间都必须停工.背后的

线程和进程的通俗解释

进程(process)和线程(thread)是操作系统的基本概念,但是它们比较抽象,不容易掌握.下面篇材料,有一个很好的类比,可以把它们解释地清晰易懂. (1)计算机的核心是CPU,它承担了所有的计算任务.它就像一座工厂,时刻在运行. (2)假定工厂的电力有限,一次只能供给一个车间使用.也就是说,一个车间开工的时候,其他车间都必须停工.背后的含义就是,单个CPU一次只能运行一个任务. (3)进程就好比工厂的车间,它代表CPU所能处理的单个任务.任一时刻,CPU总是运行一个进程,其他进程处于非运行

进程与线程的一个简单解释(转)

进程(process)和线程(thread)是操作系统的基本概念,但是它们比较抽象,不容易掌握. 最近,我读到一篇材料,发现有一个很好的类比,可以把它们解释地清晰易懂. 1. 计算机的核心是CPU,它承担了所有的计算任务.它就像一座工厂,时刻在运行. 2. 假定工厂的电力有限,一次只能供给一个车间使用.也就是说,一个车间开工的时候,其他车间都必须停工.背后的含义就是,单个CPU一次只能运行一个任务. 3. 进程就好比工厂的车间,它代表CPU所能处理的单个任务.任一时刻,CPU总是运行一个进程,其

进程和线程的一个简单形象的解释

转眼暑假一过,2015年的校招即将开启大幕,身为计算机专业的朋友们,在面试中是不是经常会被问到一个问题:进程和线程的区别,今日偶然看到阮一峰的博客,他用一个很好的类比把他们解释的清晰易懂,会不会突然让大家有种豁然开朗的感觉呢? 进程(process)和线程(thread)是操作系统的基本概念,但是它们比较抽象,不容易掌握,但下面的类比解释,是不是让你明白很多呢? 1.计算机的核心是CPU,它承担了所有的计算任务.它就像一座工厂,时刻在运行. 2.假定工厂的电力有限,一次只能供给一个车间使用.也就

进程与线程的一些简单理解

一.进程与线程的定义 进程是执行中的程序:程序是一段描述指令的文本,是一个静态的概念,把这段指令运行起来,每次运行就得到了一个进程,进程是动态的概念:操作系统会为进程分配资源. 线程是进程中一段实际执行的代码:它也是一个动态的概念:操作系统调度和分派线程,为线程分配CPU时间片,使其执行. 二.进程与线程的比较 1.从操作系统角度而言 进程是资源分配的基本单位:也就是说操作系统会为不同的进程分配不同的资源,如Window句柄.文件系统句柄.内核对象.虚拟内存等,我们可以说操作系统把Window句

线程、进程和程序的简单比较【转】

本文转载自:https://www.ezloo.com/2007/10/thread_process_program.html 我对于线程,进程的概念一直都是比较模糊,最近整理了一下.总结起来就是,线程是进程的一部分,进程是程序的一部分. 线程的引入:例如,有一个Web服务器要进程的方式并发地处理来自不同用户的网页访问请求的话,可以创建父进程和多个子进程的方式来进行处理,但是创建一个进程要花费较大的系统开销和占用较多的资源.除外,这些不同的用户子进程在执行的时候涉及到进程上下文切换,上下文切换是

线程和进程有什么区别(简单介绍)

简单介绍 一.线程的基本概念 线程是进程中执行运算的最小单位,是进程中的一个实体,是被系统独立调度和分派的基本单位,线程自己不拥有系统资源,只拥有一点在运行中必不可少的资源,但它可与同属一个进程的其它线程共享进程所拥有的全部资源.一个线程可以创建和撤消另一个线程,同一进程中的多个线程之间可以并发执行. 好处 :(1)易于调度. (2)提高并发性.通过线程可方便有效地实现并发性.进程可创建多个线程来执行同一程序的不同部分. (3)开销少.创建线程比创建进程要快,所需开销很少.. (4)利于充分发挥

ios开发中 线程、进程即多线程简单介绍

本文转自:原文http://www.cnblogs.com/wendingding/p/3805088.html 一.进程和线程 1.什么是进程 进程是指在系统中正在运行的一个应用程序 每个进程之间是独立的,每个进程均运行在其专用且受保护的内存空间内 比如同时打开QQ.Xcode,系统就会分别启动2个进程 通过“活动监视器”可以查看Mac系统中所开启的进程 2.什么是线程 1个进程要想执行任务,必须得有线程(每1个进程至少要有1条线程) 线程是进程的基本执行单元,一个进程(程序)的所有任务都在线