次の実行可能なクラスがあります。
public class OnesRun implements Runnable {
public int ones = 0;
private int passendNumber;
public OnesRun(int passendNumber) {
this.passendNumber = passendNumber;
}
public void run() {
if (passendNumber == 1)
ones++;
}
}
このクラスのすべてのインスタンスはones
、1 に遭遇した場合に の値を増加させる必要があります。
ones
すべてのスレッドが実行された後、クラスの外部からの値を読み取りたいと思います。
ones
スレッドセーフをインクリメントするにはどうすればよいですか?ones
このクラスの外からアクセスするにはどうすればよい ですか? 静的変数を介して?または、アプリケーションコンテキストに入れることはできますか?
編集:
次の疑似コードが私の意図をより明確にしてくれることを願っています。
OnesRun.ones = getCurrentValueOnes();
while ( (number = readNumbersFromFile) != null) {
threadPool.execute(new OnesRun(number));
}
print("Overall values of ones " + OnesRun.ones);