たとえば、さまざまなポートでデータを受信するためにいくつかのUDPソケットを作成したとします。1つのプロセスで同時にそれらを待つにはどうすればよいですか?
どうも:)
Kernel#select
あなたが求めているのは:
select(2)システムコールを呼び出します。与えられたIOオブジェクトの配列を監視し、1つ以上のIOオブジェクトの読み取り準備が整い、書き込み準備が整い、保留中の例外が発生するのを待ち、それらのIOオブジェクトの配列を含む配列を返します。オプションのタイムアウト値が指定され、タイムアウト秒数でIOオブジェクトの準備ができていない場合は、nilを返します。