Webエンジニア向けプログラミング解説動画をYouTubeで配信中!
▶ チャンネル登録はこちら

【Ruby3.x】Thread::fork()メソッドの使い方

forkメソッドの使い方について、初心者にもわかりやすく解説します。

作成日: 更新日:

基本的な使い方

forkメソッドは、RubyのThread.newメソッドと同じく、新しいスレッドを作成し、そのスレッド内で指定されたコードブロックを実行するメソッドです。プログラムの実行中に、特定の処理を現在の実行フローとは独立して並行的に行いたい場合に利用されます。

このメソッドにブロックを渡すと、Rubyは新しい実行スレッドを生成し、その中でブロック内の処理を開始します。これにより、時間のかかるタスク(例えばファイル操作やネットワーク通信など)をバックグラウンドで実行しながら、メインのプログラムは他の処理を継続することが可能になります。

forkメソッドは、新しく生成されたThreadオブジェクトを返します。このオブジェクトを利用して、生成されたスレッドの状態を確認したり、スレッドが完了するのを待機したりするなど、スレッドの管理を行うことができます。プログラムの応答性を高め、複数の処理を効率的に同時に進めるための重要な機能の一つです。

構文(syntax)

1Thread.fork do
2  # このブロック内の処理が新しいスレッドで実行されます
3end

引数(parameters)

*rest

  • rest: Thread.new のブロックに渡される引数

戻り値(return)

Integer, nil, false

Thread#forkは、新しいスレッドを生成してブロックを非同期に実行します。成功した場合、子スレッドのID(Integer)を返します。親スレッドの制御をブロックせず、子スレッドの実行が完了するまで待機しません。子スレッドの生成に失敗した場合はnil、または(場合によっては)falseを返すことがあります。

関連コンテンツ

関連プログラミング言語