Javaエバンジェリストがお届けするホットな話題
5分でわかる今週のJava ホットトピック
水曜日 2 14, 2007
今週のJavaクイズ(2):マルチスレッド環境にて

ほんの2〜3年前までは複数のCPUあるいはコアを搭載したコンピュータといえば企業や研究施設以外で目にする事はほとんどありませんでした。しかし、昨今のトレンドではパーソナル向けのコンピュータでも複数コア/複数CPUを搭載する物が珍しくなくなってきました。このような状況になるに従って、今まではほとんど見た事もなかったようなバグが発見される事も珍しくなくなってきました。今回はそんな状況に関する問題です。

このプログラムのバグを取り除いてください

 次のプログラムはupdate(int)メソッドによって今までの最大値と比較して、与えられた数が今までで最大であれば、最大値を更新するようなプログラムです。しかし、このプログラムはある状況下で期待通り動作しません。そのバグの内容と、バグを修正したプログラムを考えてください。

public class MaxValue { 
private int max;

public void update(int value) {
if (max < value)
max = value;
}

public int get() {
return max;
}
}

投稿されたコメント:

コメント
コメントは無効になっています。
過去の記事
« 12月 2009
  
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
  
       
今日
Click me to subscribeこのブログを購読する(RSS)
検索

リンク
 

Today's Page Hits: 57