本文へスキップ

FUNDAMENTAL INFORMATION TECHNOLOGY ENGINEER

基本情報技術者の問題解説:マルチスレッドの説明として適切なものはどれか。

テクノロジ系 標準 fe_a_s039_q001

問題

マルチスレッドの説明として適切なものはどれか。

  1. 1つのプロセス内で複数の実行単位を並行処理する方式(正解)
  2. 複数CPUで異なるプロセスを同時実行する方式
  3. 1つのCPUで複数プロセスを時分割で切り替える方式
  4. メモリ空間を複数プロセスで共有する方式
出典:オリジナル問題|参考範囲:試験要綱Ver.5.5 / FEシラバスVer.9.2 科目A範囲

正解と解説

正解:1つのプロセス内で複数の実行単位を並行処理する方式

マルチスレッドとは:マルチスレッドは、1つのプロセスの中に複数の実行単位であるスレッドを持たせ、並行して処理を進める方式です。同じプロセス内のスレッドは、基本的にメモリ空間などの資源を共有します。

ほかの選択肢との違い:複数CPUで別プロセスを実行すること、1つのCPUでプロセスを時分割すること、複数プロセスでメモリを共有することは、いずれもマルチスレッドの定義そのものではありません。軽い類題として、「1プロセス内の複数の実行流」と出たらスレッドを選ぶ、と覚えておくと迷いません。

スレッドとプロセスの違い:プロセスは独立したメモリ空間を持ち、切り替えには空間の入れ替えが伴うため負担が大きい一方、同一プロセス内のスレッドはメモリやファイルなどの資源を共有するため、生成や切り替えが軽く、データのやり取りも容易です。この軽さが並行処理にスレッドを使う利点です。

他の選択肢はなぜ違う?

  • 複数CPUで別プロセスを動かすのはマルチプロセッサの話。
  • プロセスを時分割で切り替えるのはマルチタスク(マルチプログラミング)。
  • メモリ空間の共有は共有メモリの話。スレッドは『1プロセス内の実行単位』が軸。

この問題について

出典:オリジナル問題|参考範囲:試験要綱Ver.5.5 / FEシラバスVer.9.2 科目A範囲

IPAが公開するシラバス・試験範囲・公開問題の出題形式を参考にした独自作成問題。公式問題・過去問題の転載ではありません。

公式試験問題、過去問題、公式サンプル問題、市販教材の問題文を転載したものではありません。

参考範囲: シラバスVer.9.2参考

参考文献・出典(公式情報)

RELATED

関連問題