线程与进程的区别(什么是进程和线程)
一、线程与进程的区别
先简单说说线程与进程的概念:
(1)进程是指一个内存中运行的应用程序,比如在Windows系统中,一个运行的exe就是一个进程。
(2)线程是指进程中的一个执行流程。
区别:
一个程序至少有一个进程,而一个进程至少有一个线程。一个应用程序可以同时启动多个进程。例如对于IE浏览器程序,每打开一个IE浏览器窗口,就启动了一个新的进程。而线程则是指进程中的一个执行流程,一个进程可以有多个线程,每个线程分别执行不同的任务,当进程内的多个线程同时运行时,这种运行方式就被称为并发运行。
另外,线程与进程还有一个非常重要的区别:每个进程在执行过程中都拥有独立的内存单元,而同一个进程中的多个线程则共享内存,从而极大地提高了程序的运行效率。
二、对多线程并发的理解
多线程并发只是表面和感觉上的并发,并不是实质上的并发。一个线程要运行,它必须占有CPU,而我们目前用的计算机大多都是单CPU的,所以一次最多只能有一个线程获取CPU并运行。
多线程的实质是"最大限度地利用CPU资源",当某一个线程的处理不需要占用CPU而只需要和I/O等资源打交道时,让其他线程有机会获得CPU资源。这有点类似于"统筹方法",例如让你打扫房子和烧水,要在最短的时间内做好这两件事,你一定会想到先把水烧上,然后在等水烧开的空闲时间中去打扫房子,而不是先打扫好了再去烧水,也不是先烧好了再去打扫,这个例子里面,你是那个唯一的CPU,而烧水和打扫就是两个线程。
虽然CPU只有一个,但是它在多个线程之间频繁切换,当切换的频率高到一定程度时,我们就感觉所有的线程在同时运行,于是感觉这多个线程是并发的。因此,并发并不是真的指多个线程同时运行,它仅仅只是形容一种现象。就好像说有些人是"铁人"一样,仅仅只是用于形容某个人不怕苦不怕累,像个"铁人"。
1. 并发:在操作系统中,是指一个时间段中有几个程序都处于已启动运行到运行完毕之间,且这几个程序都是在同一个处理机上运行。其中两种并发关系分别是同步和互斥
2. 互斥:进程间相互排斥的使用临界资源的现象,就叫互斥。
3. 同步:进程之间的关系不是相互排斥临界资源的关系,而是相互依赖的关系。进一步的说明:就是前一个进程的输出作为后一个进程的输入,当第一个进程没有输出时第二个进程必须等待。具有同步关系的一组并发进程相互发送的信息称为消息或事件。
其中并发又有伪并发和真并发,伪并发是指单核处理器的并发,真并发是指多核处理器的并发。
4. 并行:在单处理器中多道程序设计系统中,进程被交替执行,表现出一种并发的外部特种;在多处理器系统中,进程不仅可以交替执行,而且可以重叠执行。在多处理器上的程序才可实现并行处理。从而可知,并行是针对多处理器而言的。并行是同时发生的多个并发事件,具有并发的含义,但并发不一定并行,也亦是说并发事件之间不一定要同一时刻发生。
5. 多线程:多线程是程序设计的逻辑层概念,它是进程中并发运行的一段代码。多线程可以实现线程间的切换执行。
6. 异步:异步和同步是相对的,同步就是顺序执行,执行完一个再执行下一个,需要等待、协调运行。异步就是彼此独立,在等待某事件的过程中继续做自己的事,不需要等待这一事件完成后再工作。线程就是实现异步的一个方式。异步是让调用方法的主线程不需要同步等待另一线程的完成,从而可以让主线程干其它的事情。
异步和多线程并不是一个同等关系,异步是最终目的,多线程只是我们实现异步的一种手段。异步是当一个调用请求发送给被调用者,而调用者不用等待其结果的返回而可以做其它的事情。实现异步可以采用多线程技术或则交给另外的进程来处理。
为了对以上概念的更好理解举一个简单例子, 假设我要做 烧开水,举杠铃100下, 洗衣服 3件事情。
烧开水 这件事情, 我要做的事情为, 准备烧开水 1分钟, 等开水烧开 8 分钟 , 关掉烧水机 1分钟
举杠铃100下 我要做的事情为, 举杠铃100下 10分钟
洗衣服 我要做的事情为, 准备洗衣服 1分钟, 等开水烧开 5 分钟 , 关掉洗衣机 1分钟
单核情况下
同步的完成,我需要做的时间为 1 8 1 10 1 5 1 = 27 分
如果异步,就是在等的时候,我可以切换去做别的事情
准备烧开水(1) 准备洗衣服(1) 举50下杠铃 (5)分钟 关洗衣机 1分钟 举杠铃20下 (2)分钟 关烧水机 1分钟 举30下杠铃(3)分钟
1 1 5 1 2 1 3 =14 分钟
双核 异步 并行
核1 准备烧开水 1分钟 举杠铃50下(5)分钟 等待3分钟 关掉烧水机 1分钟
核2 准备洗衣服 1分钟 举杠铃50下(5)分钟 关掉洗衣机 1分钟 等待3分钟
其实只花了 1 5 3 1 = 10分钟
其中还有双核都等待了3分钟
双核 异步 非并行
核1 举杠铃100下(10)分钟
核2 准备烧开水 1分钟 准备洗衣服 1分钟 等待5 分钟 关掉烧水机 1分钟 等待 1 分钟 关掉洗衣机 1分钟
其实只花了 1 5 3 1 = 10分钟
多线程的做法
单核下
线程1 准备烧开水 1分钟, 等开水烧开 8 分钟 , 关掉烧水机 1分钟
线程2 举杠铃100下 10分钟
线程3 准备洗衣服 1分钟, 等开水烧开 5 分钟 , 关掉洗衣机 1分钟
cpu 可能这么切换 最理想的切换方式
线程1 准备烧开水1 sleep 1 sleep 5 sleep 1 sleep 2 关开水 1分钟 exit
线程2 sleep 1 sleep 1 举杠铃50 5分钟 sleep 1 举杠铃20 2分钟 sleep1 举杠铃30下 3分钟
线程3 sleep 1 准备洗衣服1 分钟 sleep 5 关洗衣机1分钟 exit
最后使用了 14分钟 和异步是一样的。
但是实际上是不一样的,因为线程不会按照我们设想的去跑, 如果线程2 举杠铃先跑,整个流程的速度就下来了。
异步和同步的区别, 在io等待的时候,同步不会切走,浪费了时间。
如果都是独占cpu 的业务, 比如举杠铃的业务, 在单核情况下 多线和单线 没有区别。
多线程的好处,比较容易的实现了 异步切换的思想, 因为异步的程序很难写的。多线程本身程还是以同步完成,但是应该说
比效率是比不上异步的。 而且多线很容易写, 相对效率也高。
多核的好处,就是可以同时做事情, 这个和单核完全不一样的。
左右沙发怎么样(左右家具啥档次)导语顺应家居行业发展趋势,左右家私基于光联智慧零售SDWAN行业解决方案,搭建数字化互联系统,重塑稳健的多分支传输网络,赋能业务创新,加速缔造品质新国货,引领产业新发展。深圳市左右
买布艺沙发最忌讳什么(今年比较流行的沙发)布艺沙发在颜色花纹材质上有多种选择。我们可以通过布艺的色彩来呈现缤纷活泼的基调,可以利用布料的花纹塑造出田园味道,还可以用纯粹的素色打造北欧的极简设计简直就是颜狗居家必备啊!可是你
哪里修沙发(布艺沙发)临沂瑞佳家具维修美容招生培训对于职业选择大部分人都是迷茫的,几乎都是为了生活而工作。但是生活却充斥着整个人生,所以职业前景就成为了必不可少的生活难题。学历低的同学都会选择找着技术类
沙发哪里有卖(家具沙发)现代家庭里,客厅一般是家里人活动的中心,所以客厅往往也被叫做核心区。而客厅里的核心家具是什么?在绝大多数家庭里,是沙发。沙发的样子和颜色,还有舒适性奠定了客厅视觉上和功能上的基础。
非同沙发怎么样(北京非同沙发怎么样)布沙发,总是以柔和的触感与温馨的氛围感留下一身美名,是不少人心中的理想家具。生态房舒适的沙发Cozysofainecoroom客厅内部在原木房子里,有控制台和电视。现实壁垒难以打破
哪个品牌的电视好(电视机排行榜前十名)2021年上半年全球电视出货量为9830万台,同比增长6。8,下面来盘点一下上半年销量前十的公司第十位,夏普。夏普公司是一家日本的电器及电子公司,创立于1912年,,总部位于日本大
哪个品牌的手机好(手机性价比排行榜2021前十名)现在手机更新换代非常快,几乎每个月都有很多强悍的产品推出,这让消费者更加不知道该如何选择,所以今天小编为大家整理了2021口碑最好的手机前十位,如果最近打算换手机的话可以参考一下。
尚品宅配索菲亚哪个好(中国家具排名前十名的品牌)来源大材研究,首席分析师邓超明,泛家居老板经营内参,家居经理人的每日读物,经销商店长生意参谋,金牌导购实用攻略,欢迎成为大材研究年度VIP会员我们并不是比较谁强谁弱,而是一起现象引
a家家具怎么样(a家家具品牌介绍)来源百姓前段时间陈先生准备装修新房,他选择了A家家居给自己家里进行全屋定制,可当工人上门来安装后,陈先生满心的期待却变成了闹心。陈先生说,他是去年12月份在A家家居选择了定制家具的
黑客能做出监控微信吗(如何远程查看别人微信)黑客能做出监控微信吗(如何远程查看别人微信)随着微信的普及,公司大部分员工都是在微信上开发客户,签单,和客户沟通等,但员工微信是自己的,在自己微信上聊天的内容,公司是不清楚的,如果
真的有监听别人的微信软件吗(输入对方微信号查聊天记录)真的有监听别人的微信软件吗(输入对方微信号查聊天记录)3月28日,拥有7万多粉丝的网友互联网分析师于斌发文称,微信会根据用户喜好推荐相关广告,随时监听用户的喜好和搜索来推荐相关AP
黑檀木手链(黑檀木手串怎么盘比较好?)黑檀木手链(黑檀木手串怎么盘比较好?)现在很多男士都喜欢佩戴黑檀木手串,长期佩戴能保平安,那么怎么盘黑檀木手串比较好呢?1新购请的黑檀木手串,最好先放置一周时间,让佛珠自然干燥,佛
为什么家里不能种竹子(竹子在院子哪个方位好)哈喽大家好,我是农夫马龙,和您一起三农事!待在农村的人都知道,农村里的房子大部分都有一个院子,院子一般都会拿来种菜或者种一些花草树木,不仅美观而且还很有生活气息,但是院子周围的植物
抗氧化的食物(会产生黑色素的食物有哪些)抗氧化的食物(会产生黑色素的食物有哪些)人一旦过了35岁就开始注重养生,开始关注如何才能够永葆青春。有些青春留不住,但是有些青春却是真正的从我们的身体外在表现就能够看出来的,这些都
美白食品(9种食物吃了,皮肤更美更白)美白食品(9种食物吃了,皮肤更美更白)现在很多人都追求自己能够拥有光滑嫩白的肌肤,特别是对于女性朋友,更希望在大家面前展示自己美好的一面,那么对于肌肤美白大家有什么妙招或者是有哪些
什么是抗氧化剂?(抗氧化到底是什么意思)什么是抗氧化剂(抗氧化到底是什么意思)抗氧化到底是什么意思?如何有效抗氧化抗氧化是怎么回事简单地说,抗氧化就是清除自由基的过程自由基自由基是细胞正常活动的副产品结构不太稳定经常干扰
吃什么会食物中毒(吃什么让男人彻底失去性功能)吃什么会食物中毒(吃什么让男人彻底失去性功能)各类瓜果蔬菜纷纷上市清爽顺口新鲜美味其中,略带苦味的瓜果口味虽然特别却是不少人的心头好然而并不是所有带苦味的瓜都能食用有种看似清脆爽口
怎样让男人变硬(让男人坚挺不倒的方法)怎样让男人变硬(让男人坚挺不倒的方法)本文导读许多男性都希望自己的在性生活的过程中能坚挺不倒,但是随着年龄的增长可能会力不从心,那么有什么比较好的方法能帮助我们改善呢?许多男性都希
结婚纪念日送什么花(求老婆原谅送什么花合适)送花这一方式应该在全世界爱的语言中占有重要地位,这是一种常见的表达爱的行为(无论是浪漫的爱情还是友谊或亲情的爱),如果你看到一个女孩拿着花束,你会立即想到这个幸运的女孩正在被男生追
立夏吃蛋(立夏吃鸡蛋的寓意)立夏吃蛋(立夏吃鸡蛋的寓意)从立夏这天开始,就代表着进入了长季,人和万物在这个季节皆会加速生长。有一个名词叫疰夏,它指的是酷热夏日对身体的过度消耗举个例子,有些孩子在炎热的夏天总是
描写立夏的古诗(关于立夏的古诗30首)描写立夏的古诗(关于立夏的古诗30首)小学语文新课标对古诗的学习在阶段性目标中提出第一学段(一二年级)诵读童谣儿歌,浅近的古诗,获得初步的情感体验,感受语言的优美。小学时期是儿童记
泰迪吃多少(60天的泰迪吃多少狗粮)泰迪拥有着非常活泼开朗的性格,而且身材娇小又特别聪明,所以深受人们的喜爱。大多数的新手都不知道自己家的狗狗有多大的食量,也不知道具体应该喂它多少食物。然后可不可以给它吃干的狗粮,一