多线程和多进程的区别(内存模型)

多线程和多进程的区别(内存模型)一. 在Linux下编程多用多进程编程少用多线程编程IBM有个家伙做了个测试,发现切换线程context的时候,windows比linux快一倍多。进出最快的锁(windows2k的 critical sec

一文讲解进程、线程、多进程、多线程的优缺点

一. 在Linux下编程多用多进程编程少用多线程编程

IBM有个家伙做了个测试,发现切换线程context的时候,windows比linux快一倍多。进出最快的锁(windows2k的 critical section和linux的pthread_mutex),windows比linux的要快五倍左右。当然这并不是说linux不好,而且在经过实际编程之后,综合来看我觉得linux更适合做high performance server,不过在多线程这个具体的领域内,linux还是稍逊windows一点。这应该是情有可原的,毕竟unix家族都是从多进程过来的,而 windows从头就是多线程的。

如果是UNIX/linux环境,采用多线程没必要。多线程比多进程性能高?误导!应该说,多线程比多进程成本低,但性能更低。在UNIX环境,多进程调度开销比多线程调度开销,没有显著区别,就是说,UNIX进程调度效率是很高的。内存消耗方面,二者只差全局数据区,现在内存都很便宜,服务器内存动辄若干G,根本不是问题。

多进程是立体交通系统,虽然造价高,上坡下坡多耗点油,但是不堵车。多线程是平面交通系统,造价低,但红绿灯太多,老堵车。就比如我们都开跑车,油(主频)不是问题,也不怕上坡下坡,但就怕堵车。

高性能交易服务器中间件,如TUXEDO,都是主张多进程的。实际测试表明,TUXEDO性能和并发效率是非常高的。TUXEDO是贝尔实验室的,与UNIX同宗,应该是对UNIX理解最为深刻的,他们的意见应该具有很大的参考意义。

一文讲解进程、线程、多进程、多线程的优缺点

二. 进程

1. 进程的优点

顺序程序的特点:具有封闭性和可再现性;程序的并发执行和资源共享。多道程序设计出现后,实现了程序的并发执行和资源共享,提高了系统的效率和系统的资源利用率。

2. 进程的缺点

操作系统调度切换多个线程要比切换调度进程在速度上快的多。而且进程间内存无法共享,通讯也比较麻烦。线程之间由于共享进程内存空间,所以交换数据非常方便;在创建或撤消进程时,由于系统都要为之分配和回收资源,导致系统的开销明显大于创建或撤消线程时的开销。三. 线程

1. 线程的优点

它是一种非常”节俭”的多任务操作方式。在Linux系统下,启动一个新的进程必须分配给它独立的地址空间,建立众多的数据表来维护它的代码段、堆栈段和数据段,这是一种”昂贵”的多任务工作方式。而运行于一个进程中的多个线程,它们彼此之间使用相同的地址空间,共享大部分数据,启动一个线程所花费的空间远远小于启动一个进程所花费的空间,而且,线程间彼此切换所需的时间也远远小于进程间切换所需要的时间。当然,在具体的系统上,这个数据可能会有较大的区别;线程间方便的通信机制,由于同一进程下的线程之间共享数据空间,所以一个线程的数据可以直接为其它线程所用,这不仅快捷,而且方便;

使多CPU系统更加有效。操作系统会保证当线程数不大于CPU数目时,不同的线程运行于不同的CPU上;

2. 线程的缺点

调度时, 要保存线程状态,频繁调度, 需要占用大量的机时;程序设计上容易出错(线程同步问题)。四. 多进程

1. 多进程优点

每个进程互相独立,不影响主程序的稳定性,子进程崩溃没关系;通过增加CPU,就可以容易扩充性能;可以尽量减少线程加锁/解锁的影响,极大提高性能,就算是线程运行的模块算法效率低也没关系;每个子进程都有2GB地址空间和相关资源,总体能够达到的性能上限非常大

2. 多进程缺点

逻辑控制复杂,需要和主程序交互;需要跨进程边界,如果有大数据量传送,就不太好,适合小数据量传送、密集运算多进程调度开销比较大;五. 多线程

1. 多线程的优点

无需跨进程边界;程序逻辑和控制方式简单;所有线程可以直接共享内存和变量等;线程方式消耗的总资源比进程方式好;

2. 多线程缺点

每个线程与主程序共用地址空间,受限于2GB地址空间;线程之间的同步和加锁控制比较麻烦;一个线程的崩溃可能影响到整个程序的稳定性;到达一定的线程数程度后,即使再增加CPU也无法提高性能,例如Windows Server 2003,大约是1500个左右的线程数就快到极限了(线程堆栈设定为1M),如果设定线程堆栈为2M,还达不到1500个线程总数;线程能够提高的总性能有限,而且线程多了之后,线程本身的调度也是一个麻烦事儿,需要消耗较多的CPU

在开发中,最好是多进程和多线程结合,即根据实际的需要,每个CPU开启一个子进程,这个子进程开启多线程可以为若干同类型的数据进行处理。当然你也可以利用多线程+多CPU+轮询方式来解决问题。方法和手段是多样的,关键是自己看起来实现方便有能够满足要求,代价也合适。

一文讲解进程、线程、多进程、多线程的优缺点

【版权声明】叽叽歪歪吧提醒您:请在浏览本网站关于《多线程和多进程的区别(内存模型)》信息时,请您务必阅读并理解本声明。本站部分内容以及图片来源于商家投稿和网络转载,如网站发布的有关的信息侵犯到您的权益,请及时与我们取得联系,邮箱:20451 17252#qq。com,我们会尊重您的决定并当天作出删除处理。

(0)
上一篇 2022年2月27日 14:40:05
下一篇 2022年2月27日 15:00:05

相关推荐

  • 阴阳师涂壁哪里多 阴阳师全图鉴成就怎么没有了

    阴阳师涂壁哪里多 阴阳师全图鉴成就怎么没有了线索 水池对应怪物 鲤鱼精怪物出现地点 第7章 御魂2/3/9-线索 樱花树/红色对应怪物 三尾狐怪物出现地点 第6/18章 御魂1-线索 单眼/石锤/怪力对应怪物 山童怪物出现地点 第8/16章

    2023年3月7日
    0
  • 高中交流发电机的工作原理 九管交流发电机的工作原理

    高中交流发电机的工作原理(九管交流发电机的工作原理)九管交流发电机充电指示灯电路图与工作原理九管交流发电机采用9只二极管组成整流板,在常规的六只二极管基础上,增加了三只小功率励磁二极管,形成两个分立的电源输出端,用于供给磁场电流外,还可以控

    2022年5月4日
    2
  • 世界上最贵的手机号码是多少 世界上最好的手机排名第一

    世界上最贵的手机号码是多少(世界上最好的手机排名第一)“6666666“这不是网络热词“溜溜溜”,这是世界上最贵的手机号码。当年在迪拜,拍出了280万美元的天价,折合当时的汇率是2300万人民币,按现在的汇率也有1800万人民币,北京一套房

    2022年5月6日 生活小百科
    5
  • 跳蚤哪里有 怎么判断床上有跳蚤

    跳蚤哪里有 怎么判断床上有跳蚤床虱是一种红棕色的小昆虫,俗称臭虫,它的前脚会分泌出臭气液体,常寄居在床褥、地毯。沙发、椅垫上,喜欢挑我们睡觉的时候,悄悄从床缝或者床垫里钻出来吸食我们的血液。吃饱喝足后就在我们身边交配、繁衍……更可气的是这种

    2023年2月23日 生活小百科
    0
  • 王侯将相宁有种乎的意思是什么 当立者乃公子扶苏的翻译

    王侯将相宁有种乎的意思是什么(当立者乃公子扶苏的翻译)在这个赶潮流的时代,网络流行语已经成为大家生活的一部分。如果你穿越到古代,像“躺平”、“ 爷青回”、“什么是快乐星球”这些网络流行语该怎么去说呢?原文:躺平。翻译:穷则独善其身。原文:世

    2022年5月7日 生活小百科
    3
  • 麓谷是哪里 石燕湖游玩攻略

    麓谷是哪里 石燕湖游玩攻略[萌萌哒R][萌萌哒R]石燕湖大家都不陌生,应该很多朋友都去过,但 是景区大,景点不太集中,所以精华出片和好玩的地方一定要择重点去~[doge][doge]分景区:石燕湖景区地址:长沙市雨花区跳马乡石门村石燕湖出行

    2023年3月17日
    0
  • 革命电影观后感(红色革命电影观后感300字)

    革命电影观后感(红色革命电影观后感300字)清澈的爱,只为中国。致敬,最可爱的人!!!“我是一名光荣的志愿军战士,冰雪啊!我决不屈服于你,哪怕是冻死,我也要高傲地耸立在我的阵地上!”《长津湖》以史诗般的电影艺术讲述了中国人民志愿军第9兵团某

    2022年3月16日 生活小百科
    23
  • 教你在线查开的房记录查询 公安能查多久微信记录

    教你在线查开的房记录查询(公安能查多久微信记录)1/可登录公众号i深圳不动产登记查询,操作步骤公众号点击“我要查询”点击“信息查询”认证授权(拍摄人脸视频)查询类型1.本人名下房地产登记情况(无房证明,交易登记录)。2.本人名下不动产登记信

    2022年5月1日
    3
  • 喵妆购里面的东西是正品吗 淘宝喵爷严选的东西怎么样

    喵妆购里面的东西是正品吗(淘宝喵爷严选的东西怎么样)社交新零售选品网站:呼啦圈lolog呼啦圈是个什么圈?切记~~这里的呼啦圈绝对不是健身器材。她是一款适合社交电商产业链资源对接的平台。指尖触动,“人、货、场、运”即刻打通,“产、供、销、服

    2022年4月2日 生活小百科
    16
  • 手机开不了机怎么办 手机有电但是黑屏了打不开怎么办

    手机开不了机怎么办(手机有电但是黑屏了打不开怎么办)你的iPhone13有没有出现突然黑屏重启、莫名黑屏开不了机?最近,越来越多使用iPhone13系列机型的用户在反馈,自己iPhone13莫名黑屏了,或是莫名黑屏开不了机。之前关于iPho

    2022年3月24日 生活小百科
    16

发表回复

登录后才能评论