このページをはてなブックマークに追加このページを含むはてなブックマーク このページをlivedoor クリップに追加このページを含むlivedoor クリップ

ノンブロッキングI/O

  • 1プロセスで複数の接続を処理するためには、各クライアントと通信する際に、本当に必要なときだけ通信して切り替える必要がある。このような手法をノンブロッキングI/Oと呼ぶ。
  • ノンブロッキングI/OはOSのシステムコールで実装されており、それを使う。
  • ノンブロッキングI/Oの注意点はすべての接続を完全に同時に処理できるわけではないが、同時処理数を考える必要があるという点である。
  • ある処理が長時間化したり、ハングしたりすると他の接続に影響が出る。

ノンブロッキングI/Oを採用しているプロダクト

  • node.js
  • nginx
  • GlassFish

参考文献

  • 『絵で見てわかるITインフラの仕組み』