【網路程式設計】Tcp/Udp

Alearn_發表於2018-06-18

繼承與程式不同,程式是程式執行的標誌而不是程式的靜態版本。
使用者建立一個程式之後,作業系統即將程式的一個副本裝入計算機中,然後啟動一個執行緒執行程式,當然也可以讓多個執行緒“在同一時間”執行同一段程式碼。
執行緒是cpu的最小單位,各個執行緒按照各自的步調執行。

執行緒池:
編寫伺服器短程式碼最簡單的方法是:當一個請求到達時就建立一個新的新城,然後在新執行緒中為它請求服務。這種做法簡單,但是對系統帶來的消耗很大:一是為每個請求建立一個新執行緒的開銷很大,二是為每一個請求建立新縣城的伺服器在建立和銷燬執行緒上所花費的時間以及笑話的系統資源要比花在處理實際使用者任務上所花費的時間和消耗的系統資源更多。
【說明】(後期要根據作業系統知識對這個模組進行補充說明,在根據作業系統知識說明程式在建立是作業系統在記憶體、cpu上消耗);

執行緒池為縣城生命週期的開銷問題和資源不足問題提供解決方案:通過多個任務重用執行緒,執行緒建立的開銷分攤到多個任務上。(消除了執行緒建立是帶來的延遲),而且,通過適當的調整執行緒池總的執行緒數目,也就是當請求的樹木超過規定的最大數目,就強制其他任何新的請求一直等待,直到獲得一個執行緒來處理位置,從而可以防止資源不足。

執行緒池要到的地方:當一個應用程式伺服器接收到大量短小執行緒的請求時,使用執行緒池技術可以有效的減少執行緒的建立和銷燬次數

資料流:
流是一種抽象表示,代表儲存和檢索資料的序列裝置(每次一個位元組),底層的裝置可以是檔案、外部裝置、主存、網路套接字等。流的三種基本操作:write\read\search.

網路流:

TCP協議:
基於連線的協議;
保證資料包準確到達
保證個資料包到達的順序與資料包發出的順序相同。
傳輸的資料元訊息無邊界。

相關文章