網路協議

我的bug寫的太好了發表於2018-12-07

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的區別

  1. tcp優點: 傳輸可靠, 穩定。 原因是:三次握手來建立連線,資料傳遞時採用,確認應答、超時重發,流量控制等..
  2. tcp缺點: 執行速度慢, 佔用系統資源多,易被DOS DDOS 攻擊。 原因: 採用三次握手建立連線
  3. tdp優點: 執行資料快,安全, 原因: 不進行握手建立連線。 所以受攻擊少, 並且快。
  4. tdp缺點: 不可靠: 原因: 網速擁堵時,容易丟包
    file
本作品採用《CC 協議》,轉載必須註明作者和本文連結

相關文章