問題タブ [atomicinteger]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
457 参照

java - AtomicInteger の使用方法

たとえば、次のようなクラスがあります。

質問は、私は時々更新したいのですが、numberオブジェクトをステートレスにする必要があります。つまり、nubmer最終的でなければなりません。私の友人は、AtomicIntegerクラスを使用することを提案しましたが、それを機能させる方法がわかりません。

0 投票する
2 に答える
6644 参照

java - AtomicInteger.updateAndGet() と AtomicInteger.accumulateAndGet() の間に機能上の違いはありますか?

AtomicInteger.accumulateAndGet()に置き換えることができないシナリオはありますかAtomicInteger.updateAndGet()、それともメソッド参照の便宜上のものですか?

機能的な違いが見られない簡単な例を次に示します。

明らかに、同じことが と にも当てはまりgetAndUpdate()ますgetAndAccumulate()

0 投票する
1 に答える
85 参照

java - 可視性を持つ int カウンターのインクリメント

あるスレッドが int を更新し、ある時点で別のスレッドがそれを読み取る状況があります。だからシングルリーダーシングルライター。これまではvolatileその目的で int を使用していましたが、これによりメモリ バリアで完全同期が強制されるため、別のことを考えていました。

1つのアプローチは次のようになりますAtomicInteger.incrementAndGet() が、これはまったく同じ効果があり、実際には遅くなると思います

別のアプローチはAtomicInteger.lazySet、ライター用の追加の不揮発性カウンターを使用することです。したがって、基本的には

素朴な「lazyIncrement」として。

volatile実際には、ライターによる intの単純なインクリメントよりもパフォーマンスが高いでしょうか?

ありがとう

0 投票する
4 に答える
1397 参照

java - 3 つのスレッドを使用して数字を順番に出力する

3 つのスレッドが 1 から 10 までの数字を順番に出力しようとするプログラムがありCountDownLatchます。カウントを維持するために a を使用しています。

しかし、プログラムは 1 を印刷した直後に停止します。

注:AtomicIntegerの代わりに使用できることを認識していIntegerます。しかし、現在のコードの問題を見つけようとしています。

メインプログラム:

で編集されたプログラムAtomicInteger:

0 投票する
3 に答える
244 参照

java - AtomicIntegerを使用してメソッドを介してintを変更することは可能ですか?

私は方法を持っています:

次に、メインで呼び出します。

結果はまだ 3 です。この方法で int を変更することは可能ですか?