ブロッキング IO とは?
ブロッキング IO は、読み取りや書き込みの呼び出しが操作の完了まで戻らず、データが利用可能になるか送信されるまで呼び出し元のスレッドを中断させるモデルです。コードはシンプルで逐次的ですが、スレッドは待機中に有用なことを何もしません。この方法で多数の接続を扱うには、多くのスレッドやプロセスが必要になります。
なぜ重要か
ブロッキング IO は理解しやすく、逐次的な build スクリプトには適していますが、1 つのスレッドが待機できる対象の数を制限します。これを認識すると、並行ワークロードが代わりにノンブロッキングモデルを採用する理由が分かります。
関連ガイド
What Is Non-Blocking IO?Non-blocking IO returns immediately when an operation cannot complete yet, letting a single thread interleave…
What Is the Select System Call?The select system call lets a program wait until any of a set of file descriptors becomes ready for IO, or un…
What Is a Socket Read Timeout?A socket read timeout is the maximum time a program waits for data on a socket before giving up, preventing a…