Java-Basis-Tutorial In der Kolumne erfahren Sie, wie Sie Java-Sperren mit Netty lernen
Reduzieren Sie die Granularität
2 Die Größe des Sperrobjekts selbst
Reduzieren Sie den Speicherplatzverbrauch
Also Atomic*-Objekte => Flüchtiger Primärtyp + Statischer Atomic*FieldUpdater
Wählen Sie je nach Bedarf verschiedene aus verschiedene Situationen Gleichzeitige Paketimplementierung
JDK< 1.8 berücksichtigt ConcurrentHashMapV8 (die Version von ConcurrentHashMap in jDK8)4 Wählen Sie verschiedene Parallelitätsklassen für verschiedene Szenarien
Ändern Sie je nach Bedarf
C Verliere und warte auf das Shutdown-Event-Executor (Event Executor): Object.wait/ notify => CountDownLatch
Jdks LinkedBlockingQueue (MPMC, mehrere Produzenten und mehrere Konsumenten) –> jctools' MPSC io .netty.util.internal.PlatformDependent.Mpsc#newMpscQueue(int):
5 Der Wert der Sperre
Reduzieren Sie Benutzerentwicklungsschwierigkeiten, einfache Logik, verbessern Sie die Verarbeitungsleistung.
Vermeiden Sie zusätzlichen Overhead wie Kontextwechsel und Parallelitätsschutz durch Sperren.
Vermeiden Sie die Verwendung von Sperren: Verwenden Sie ThreadLocal um Ressourcenkonflikte zu vermeiden, zum Beispiel Nettys leichtgewichtige Thread-Pool-Implementierung
Das obige ist der detaillierte Inhalt vonLernen Sie die Verwendung von Java-Sperren mit Netty. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!