Java 基本チュートリアルNetty を使って Java ロックを学ぶ方法を紹介するコラム
1 オブジェクトとスコープをロックする
2 ロック オブジェクト自体のサイズ
3 ロック速度
同時実行性の向上LongCounter
メモリ割り当てのバイト数を記録するなどの機能に使用されます。 高い同時実行性の場合: java.util.concurrent.atomic.AtomicLong => java.util.concurrent.atomic.LongAdder
さまざまな状況に応じて、さまざまな同時実行パッケージ実装を選択します
JDK< 1.8 ConcurrentHashMapV8 (jDK8 の ConcurrentHashMap のバージョン) を検討してください
4 さまざまなシナリオに応じてさまざまな同時実行クラスを選択します
ニーズに応じて変更します Object.wait/notify =》 CountDownLatch
Jdk の LinkedBlockingQueue (MPMC) 、マルチプロデューサー 複数コンシューマー) -> jctools の MPSC
io.netty.util.internal.PlatformDependent.Mpsc#newMpscQueue(int):
#5 lock の値
使用できない場合は使用しないでください
Netty アプリケーションのシナリオ: 部分シリアルおよび全体並列>--1 つのキューと複数のスレッド モード: ユーザー開発の難しさを軽減し、ロジックを簡素化し、処理パフォーマンスを向上させます
ロックによるコンテキストの切り替えと同時実行保護の追加のオーバーヘッドを回避します
回避しますロックの使用: Netty の軽量レベルのスレッド プール実装などのリソース競合を回避するには、ThreadLocal を使用します。
以上がNetty で Java ロックの使用法を学ぶの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。