127.0.0.1 和 0.0.0.0 的區別
- 0.0.0.0: 相當於
this
, 監聽本機的所用埠 | ip - 127.0.0.1 : 迴環地址, 外部無法訪問埠
多執行緒與多程式的區別 (參考地址: https://blog.csdn.net/lishenglong666/artic...)
- 多程式:程式是資源分配的最小單位
-
多執行緒:執行緒是CPU排程的最小單位
| 對比維度 | 多程式 | 多執行緒 | | 資料共享、同步 | 資料共享複雜,需要用IPC;資料是分開的,同步簡單 | 因為共享程式資料,資料共享簡單,但也是因為這個原因導致同步複雜 | |記憶體、CPU |佔用記憶體多,切換複雜,CPU利用率低 |佔用記憶體少,切換簡單,CPU利用率高 |建立銷燬、切換 |建立銷燬、切換複雜,速度慢 |建立銷燬、切換簡單,速度很快 |程式設計、除錯 |程式設計簡單,除錯簡單 |程式設計複雜,除錯複雜 |可靠性 |程式間不會互相影響 |一個執行緒掛掉將導致整個程式掛掉 | 分散式 |適應於多核、多機分散式;如果一臺機器不夠,擴充套件到多臺機器比較簡單|適應於多核分散式
總結:程式有獨立的地址空間,一個程式崩潰後,在保護模式下不會對其它程式產生影響,而執行緒只是一個程式中的不同執行路徑。執行緒有自己的堆疊和區域性變數,但執行緒沒有單獨的地址空間,一個執行緒死掉就等於整個程式死掉,所以多程式的程式要比多執行緒的程式健壯,但在程式切換時,耗費資源較大,效率要差一些。但對於一些要求同時進行並且又要共享某些變數的併發操作,只能用執行緒,不能用程式。
並行與併發的區別
併發:指應用能夠交替執行不同的任務,吃飯吃到一半,電話來了,停了下來接了電話,接完後繼續吃飯
並行:指應用能夠同時執行不同的任務,例:吃飯的時候可以邊吃飯邊打電話,這兩件事情可以同時執行
TCP和UDP的區別
- tcp優點: 傳輸可靠, 穩定。 原因是:三次握手來建立連線,資料傳遞時採用,確認應答、超時重發,流量控制等..
- tcp缺點: 執行速度慢, 佔用系統資源多,易被DOS DDOS 攻擊。 原因: 採用三次握手建立連線
- tdp優點: 執行資料快,安全, 原因: 不進行握手建立連線。 所以受攻擊少, 並且快。
- tdp缺點: 不可靠: 原因: 網速擁堵時,容易丟包
本作品採用《CC 協議》,轉載必須註明作者和本文連結