アフィリエイト広告を利用しています

広告

posted by fanblog

ITパスポート過去問 解説22年春問82

22年春 問題一覧へ

問題


問82 2台のPCから一つのファイルを並行して更新した。ファイル中の同一のデータ(データ1)に対する処理が@〜Cの順で行われたとき、データ1はどの値になるか。ここで、データ1の初期値は 5 であった。



ア 4    イ 5    ウ 14    エ 15


解説


@〜Cでデータ1がどうなるかをみていけばよい。
@ 読み込んだデータ1は5であるので、計算結果は15となる。この値はまだデータ1に書きこまれていないため、データ1は5のまま。
A 読み込んだデータ1はまだ5であるので、計算結果は4となる。この値もまだデータ1に書きこまれていないため、データ1は5のまま。
B @の計算結果である15をデータ1に書きこむのでデータ1は15になる。
C Aの計算結果である4をデータ1に書きこむためデータ1は4になる。

結局Cが終わった段階で、データ1は4となってしまい、@とBの作業はなかったことになってしまう。
このようなことが起きないようにするためには、ロックをかけるという作業があり、@とBの両方の作業が終わるまで、Aの作業は処理を待つことになる。この問題では、ロックをかけていないため、このような、困ったことが起きている。




22年春 問題一覧へ









この記事へのコメント

   
×

この広告は30日以上新しい記事の更新がないブログに表示されております。