スレッドセーフ
出典: 令和7年度 秋期 応用情報技術者試験 午前 問17 (IPA)
スレッドセーフの説明として,適切なものはどれか。
- ア アプリケーションが複数のスレッドから呼び出されないようになっている。
- イ アプリケーションを複数のスレッドではなく,単一のスレッドで動作させる。
- ウ アプリケーションを複数のスレッドで並列に実行しても,問題が生じない。
- エ スレッドの競合が発生したときに,アプリケーションを安全に停止させる。
正解と解説を見る
正解: ウ
- ア: 複数のスレッドから呼び出されないようにするのは、スレッドセーフにする方法の1つにすぎず、説明としては不適切です。スレッドセーフは「同時に呼ばれても大丈夫」という性質です。
- イ: 単一スレッドで動かすことは、スレッドセーフかどうかとは別の話です。
- ウ: 複数のスレッドで並列に実行しても問題が起きない性質がスレッドセーフなので正しい説明です。
- エ: 競合が起きたときに安全に止めるのではなく、競合が起きても正しく動くことがスレッドセーフです。
ポイント
- スレッドセーフ: 複数のスレッドから同時に呼び出されても、データが壊れたり結果がおかしくなったりしないことです。
- 共有データへのアクセスを排他制御したり、共有データを持たないようにしたりして実現します。