10

私は比較的新しいJavaです。私はパッケージ内のクラスの使用法を理解しようとしています:

java.util.concurrent.atomic

このパッケージのjavaDocを理解して、理解しようとしました。しかし、これらのクラスをいつ使用すべきかについては、実際には意味がありません。誰かが簡単な言葉で例やより多くの説明を与えることができますか?どうも

4

1 に答える 1

14

10個のスレッドがinti(0で初期化)をインクリメントし、コンソールの値を出力していると考えてください。あなたはこのようなものを得ることができます:

1
2
2
3
3
5
6
6
8
10

たとえば、AtomicIntegerは、各スレッドが値をアトミックにインクリメントまたはデクリメントできることを保証し、書き込み操作が同期して行われることを保証します。10スレッドの場合、出力は常に次のようになります。

1
2
3
4
5
6
7
8
9
10
于 2012-09-10T21:13:31.177 に答える