基礎理論
アルゴリズム
コンピュータ構成要素
システム構成要素
ソフトウェア
ハードウェア
ヒューマンインタフェース
マルチメディア
データベース
ネットワーク
セキュリティ
システム開発技術
ソフトウェア開発管理技術
😀 mypage
🥇 ranking
📊 chart
📏 rule
No.107 各タスクがタスク間共有変数を更新するときに,タスク間の同期制御を行わないと思わぬ結果を招くことがある。
タスク間共有変数xの初期値が3のとき,タスクAが代入文 x=x+x を実行し,タスクBが代入文 x=x×xを実行すると,最終的なxの値が12となるのは,どの順番で実行されたときか。
ここで,各代入文はそれぞれ次の四つの部分に分けて処理される。
⭕️
💾
🖊 ☑️
⭕️ [[ AnswerCalc[0] ]] % A [[ AnswerCalc[1] ]]
xの初期値が3なので、それぞれの順番で実行して最終的にx=12になるものを見つけます。
  • a1→a2→b1→b2→a3→a4→b3→b4
    • a1:e←3
    • a2:f←3
    • b1:h←3
    • b2:i←3
    • a3:3+3=6,g←6
    • a4:x←6
    • b3:3×3=9,j←9
    • b4:x←9
    以上の流れで、xは9になります。
  • a1→b1→b2→b3→b4→a2→a3→a4
    正しい
    • a1:e←3
    • b1:h←3
    • b2:i←3
    • b3:3×3=9,j←9
    • b4:x←9
    • a2:f←9
    • a3:3+9=12,g←12
    • a4:x←12
    以上の流れで、xは12になります。
  • b1→a1→a2→a3→a4→b2→b3→b4
    • b1:h←3
    • a1:e←3
    • a2:f←3
    • a3:3+3=6、g←6
    • a4:x←6
    • b2:i←6
    • b3:3×6=18,j←18
    • b4:x←18
    以上の流れで、xは18になります。
  • b1→b2→b3→a1→a2→a3→a4→b4
    • b1:h←3
    • b2:i←3
    • b3:3×3=9,j←9
    • a1:e←3
    • a2:f←3
    • a3:3+3=6,g←6
    • a4:x←6
    • b4:x←9
    以上の流れで、xは9になります。
💾 ✔️
[[ d.CommentTxt ]]
🏠 >   基本情報技術者試験 >     テクノロジー >     ソフトウェア >  
< >
🥇