読者です 読者をやめる 読者になる 読者になる

技術士の技事録

情報工学部門の技術士が、IT技術動向、資格対策等を、勝手気ままに語ります。

技術士第一次試験専門科目 平成21年度 Ⅲ-16

技術士試験 一次試験 専門科目

問題

次のプログラムはある銀行口座への入金を行うプログラムである。2人が同時に入金を行うと2つのスレッドが作られ,関数dodeposi七の部分が交互にCPUを使いながら動作する可能性がある。変数balanceは銀行口座の残高,変数deposi七は銀行口座に入金する金額を表す。共用変数balanceへの相互排除を実現するためセマフォを用
いることとした。セマフォsの初期値,及びプログラム中の[ ア ],[ イ ]に入る正しい組合せを①〜⑤の中から選べ。


int balance;/*銀行口座の残高.スレッド間で共用される*/

void do_deposit(int deposit){
intx;
[ ア ];
[ イ ];

選択肢

  セマフォSの初期値
1 signal(S) wait(S)
1 wait(S) signal(S)
0 signal(S) wait(S)
0 wait(S) signal(S)
任意の値でよい signal(S) wait(S)

 

答え

 ②

解説

 

次の問題へ専門科目TOPへ技術士TOPへ