SkillStack
テクノロジ系72 / 100問

ITパスポート試験 令和2年度 公開問題 問72

2台のPCから一つのファイルを並行して更新した。ファイル中のデータnに対する処理が①~④の順に行われたとき、データnは最後にどの値になるか。ここで、データnの初期値は10であった。

ITパスポート試験 令和2年度 公開問題 問72の図表

選択肢を押すと答え合わせができます。

正解と解説を見る

【正解】エ

処理の順序に従って、各PCが保持する値とファイル上の値を分けて追跡します。最初のファイル上のデータnは10です。①でPC-Aは10を読み込み、5を引くので、PC-A内の計算結果は5になります。ただし、まだ書き込んでいないため、ファイル上の値は10のままです。②でPC-Bはその10を読み込み、7を足すので、PC-B内の計算結果は17になります。③でPC-Aが5を書き込み、ファイル上の値は5になります。最後に④でPC-Bが、先に計算していた17を書き込むため、5は上書きされ、最終値は17です。

アの5は誤りです。③の直後には5ですが、その後の④によって17に上書きされます。

イの10は誤りです。これは更新前の初期値であり、二つの書込み処理が行われた後の値ではありません。

ウの12は誤りです。これは「10-5+7」と順番に更新した場合の値です。実際にはPC-BがPC-Aの書込み前の10を読み込んでいます。

【ポイント】 ・複数の処理が同じデータを並行更新すると、一方の更新が失われることがあります。 ・この現象を更新の消失といい、排他制御やロックによって防止します。 ・トレースでは、各PC内の値と共有ファイル上の値を区別することが重要です。

出典:令和2年度 ITパスポート試験 公開問題 問72
※ 解説は SkillStack 編集部が作成したものです。Web 表示のため、図表の配置や表記を一部改めています。

この回の100問を、アプリで通しで解く

  • 本番と同じ問題数・制限時間で通し演習(模試モード)
  • 間違えた問題は自動で「復習すべき問題」に回る
  • 解説で分からない点はAIに質問できる
SkillStackで無料で始める