設(shè)計(jì)并發(fā)服務(wù)器,使用多進(jìn)程與多線程有什么區(qū)別?
答案一:
根本區(qū)別就一點(diǎn):用多進(jìn)程每個(gè)進(jìn)程有自己的地址空間(address space),線程則共享地址空間。所有其它區(qū)別都是由此而來(lái)的:
1。速度:線程產(chǎn)生的速度快,線程間的通訊快、切換快等,因?yàn)樗麄冊(cè)谕粋(gè)地址空間內(nèi)。
2。資源利用率:線程的資源利用率比較好也是因?yàn)樗麄冊(cè)谕粋(gè)地址空間內(nèi)。
3。同步問(wèn)題:線程使用公共變量/內(nèi)存時(shí)需要使用同步機(jī)制還是因?yàn)樗麄冊(cè)谕粋(gè)地址空間內(nèi)。
答案二:
1,進(jìn)程:子進(jìn)程是父進(jìn)程的復(fù)制品。子進(jìn)程獲得父進(jìn)程數(shù)據(jù)空間、堆和棧的復(fù)制品。
2,線程:相對(duì)與進(jìn)程而言,線程是一個(gè)更加接近與執(zhí)行體的概念,它可以與同進(jìn)程的.其他線程共享數(shù)據(jù),但擁有自己的?臻g,擁有獨(dú)立的執(zhí)行序列。
兩者都可以提高程序的并發(fā)度,提高程序運(yùn)行效率和響應(yīng)時(shí)間。
線程和進(jìn)程在使用上各有優(yōu)缺點(diǎn):線程執(zhí)行開銷小,但不利于資源管理和保護(hù);而進(jìn)程正相反。同時(shí),線程適合于在SMP機(jī)器上運(yùn)行,而進(jìn)程則可以跨機(jī)器遷移。
【設(shè)計(jì)并發(fā)服務(wù)器,使用多進(jìn)程與多線程有什么區(qū)別?】相關(guān)文章:
WEB服務(wù)器與應(yīng)用服務(wù)器有什么區(qū)別11-08
茴香與孜然有什么區(qū)別10-06
裸妝與淡妝有什么區(qū)別10-08
紋眉與繡眉有什么區(qū)別09-14
Linux下子進(jìn)程與父進(jìn)程的關(guān)系08-12
怎么使用代理服務(wù)器08-07
Flash與AE制作動(dòng)畫有什么區(qū)別09-09
專插本與專升本有什么區(qū)別05-13