0
マンページから、select()
は、同期I/O多重化です。これは、ファイル記述子の読み取りまたは書き込みの準備ができている場合にのみ、次の操作を続行することを意味します。これは、そのfdからのread()
のデータがブロックされず、読み取られた合計バイトが返されることを意味します。しかし、非ブロックI/Oの機能をfcntl()
と設定してO_NONBLOCK
フラグを設定することもできます。 select()
とO_NONBLOCK
の主な違いは何ですか?ソケットで非同期I/Oを使用する理由は何ですか?