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