令和7年度 秋期 応用情報技術者試験 午前 問17

スレッドセーフの説明として,適切なものはどれか。

解答・解説

正解: ウ. アプリケーションを複数のスレッドで並列に実行しても,問題が生じない。

スレッドセーフ(thread-safe) とは、マルチスレッド環境において、複数のスレッドが同時に同じコードを実行したり、共有データにアクセスしたりしても、データの不整合などの問題が生じず、正しく動作するプログラムの性質のことです。

したがって、適切な説明は「アプリケーションを複数のスレッドで並列に実行しても,問題が生じない。」となります。

各選択肢の解説

  • ア:アプリケーションが複数のスレッドから呼び出されないようになっている。
    • 誤りです。スレッドセーフは、複数のスレッドから呼び出されても安全に動作することを意味します。
  • イ:アプリケーションを複数のスレッドではなく,単一のスレッドで動作させる。
    • 誤りです。これは シングルスレッド での動作の説明であり、スレッドセーフ(マルチスレッド環境での安全性)の説明ではありません。
  • ウ:アプリケーションを複数のスレッドで並列に実行しても,問題が生じない。
    • 正解 です。スレッドセーフの適切な説明です。
  • エ:スレッドの競合が発生したときに,アプリケーションを安全に停止させる。
    • 誤りです。スレッドの競合(競合状態)が発生しても、それを適切に制御(排他制御など)し、停止させることなく正しく処理を継続できるのがスレッドセーフです。なお、問題発生時に安全な状態へ移行させる設計思想は フェールセーフ と呼ばれます。

Spineチーム