検索
ホームページJava&#&ベースNetty で Java ロックの使用法を学ぶ

Java 基本チュートリアルNetty を使って Java ロックを学ぶ方法を紹介するコラム

Netty で Java ロックの使用法を学ぶ

##推奨 (無料): java 基本チュートリアル

1 オブジェクトとスコープをロックする

    粒度を減らす


2 ロック オブジェクト自体のサイズ

    占有領域を減らす

  • アトミック long 対 S long
    前者は、ハッシュコード、ロック、その他の情報を保存するためのオブジェクト ヘッダーを含むオブジェクトであり、64 ビット システムでは 16 バイトを占有します。ビット システム:
  • volatile long= 8 バイト
  • AtomicLong = 8 バイト (揮発性長) 16 バイト (オブジェクト ヘッダー) 8 バイト (参照) = 32 バイト
  • 少なくとも 24 バイトを節約してください。
So Atomic* オブジェクト =>> 揮発性のプライマリ タイプ Static Atomic*FieldUpdater

3 ロック速度

同時実行性の向上

LongCounter

メモリ割り当てのバイト数を記録するなどの機能に使用されます。

高い同時実行性の場合: java.util.concurrent.atomic.AtomicLong => java.util.concurrent.atomic.LongAdder

結論: 最新の JDK 機能を測定して使用するタイムリーな方法

さまざまな状況に応じて、さまざまな同時実行パッケージ実装を選択します

JDK

4 さまざまなシナリオに応じてさまざまな同時実行クラスを選択します

ニーズに応じて変更します

  • シャットダウン イベント エグゼキュータを閉じて待ちます ( Event Executor) :

    Object.wait/notify =》 CountDownLatch

  • Nio Event ループにタスクを保存するキュー

    Jdk の LinkedBlockingQueue (MPMC) 、マルチプロデューサー 複数コンシューマー) -> jctools の MPSC
    io.netty.util.internal.PlatformDependent.Mpsc#newMpscQueue(int):


#5 lock の値

使用できない場合は使用しないでください

Netty アプリケーションのシナリオ: 部分シリアルおよび全体並列>--1 つのキューと複数のスレッド モード:

ユーザー開発の難しさを軽減し、ロジックを簡素化し、処理パフォーマンスを向上させます
ロックによるコンテキストの切り替えと同時実行保護の追加のオーバーヘッドを回避します

回避しますロックの使用: Netty の軽量レベルのスレッド プール実装などのリソース競合を回避するには、ThreadLocal を使用します。


以上がNetty で Java ロックの使用法を学ぶの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事はCSDNで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

SublimeText3 英語版

SublimeText3 英語版

推奨: Win バージョン、コードプロンプトをサポート!

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

MantisBT

MantisBT

Mantis は、製品の欠陥追跡を支援するために設計された、導入が簡単な Web ベースの欠陥追跡ツールです。 PHP、MySQL、Web サーバーが必要です。デモおよびホスティング サービスをチェックしてください。

VSCode Windows 64 ビットのダウンロード

VSCode Windows 64 ビットのダウンロード

Microsoft によって発売された無料で強力な IDE エディター