- Java程序員面試筆試寶典(第2版)
- 何昊等編著
- 267字
- 2022-06-17 16:00:54
2.3 BIO
BIO是最傳統的同步阻塞IO模型,服務器端的實現是一個連接只有一個線程處理,線程在發起請求后,會等待連接返回。
常見的同步阻塞IO訪問代碼如下所示:

對于每個線程而言,它們內部的實現都使用了阻塞的調用方式,核心的代碼如下所示:


從上面的代碼可以看出,這個線程大部分的時間可能都是在等待read方法返回。正是由于這個讀數據的方法是阻塞調用的,因此每個線程只能處理一個連接。如果請求量非常大,那么這種方式就需要創建大量的線程。而系統的資源都是有限的,可能允許創建最大的線程數遠遠小于要處理的連接數,而且就算線程能被創建出來,大量的線程也會降低系統的性能。
推薦閱讀
- Google Flutter Mobile Development Quick Start Guide
- C#高級編程(第10版) C# 6 & .NET Core 1.0 (.NET開發經典名著)
- Hands-On Machine Learning with scikit:learn and Scientific Python Toolkits
- C#程序設計實訓指導書
- Effective C#:改善C#代碼的50個有效方法(原書第3版)
- Web Development with Django Cookbook
- Xamarin.Forms Projects
- Learning Selenium Testing Tools(Third Edition)
- 程序員修煉之道:通向務實的最高境界(第2版)
- 基于ARM Cortex-M4F內核的MSP432 MCU開發實踐
- 小程序,巧應用:微信小程序開發實戰(第2版)
- C# and .NET Core Test Driven Development
- Mastering Python Design Patterns
- Test-Driven JavaScript Development
- Python期貨量化交易實戰