Heim  >  Artikel  >  Java  >  Java Virtual Machine – Thread-Sicherheit und Sperrenoptimierung

Java Virtual Machine – Thread-Sicherheit und Sperrenoptimierung

伊谢尔伦
伊谢尔伦Original
2016-11-26 09:26:161287Durchsuche

Thread-Sicherheit

Thread-Sicherheit in Java-Sprache

 1 Unveränderlich. Unveränderliche Objekte müssen Thread-sicher sein

2. Damit eine Klasse unabhängig von der Laufzeitumgebung absolut Thread-sicher ist, benötigt der Aufrufer keine zusätzlichen Synchronisationsmaßnahmen, was in der Regel einen hohen oder sogar unrealistischen Preis erfordert. , markieren sich selbst als Thread-sichere Klassen in der Java-API, von denen die meisten nicht absolut Thread-sicher sind

 3 Relative Thread-Sicherheit

 4 Thread-kompatibel Das Objekt selbst ist nicht Thread-sicher sicher, kann aber übergeben werden. Verwenden Sie Synchronisierungsmethoden auf der aufrufenden Seite korrekt, um sicherzustellen, dass Objekte in gleichzeitigen Umgebungen sicher verwendet werden können

 5 Thread-Opposition

Thread-sichere Implementierungsmethoden

 1 Synchronisation mit gegenseitigem Ausschluss, Murual Exclusion & Synchronization

 Gemeinsame Parallelitätskorrektheitsgarantie für Mobiltelefone. Synchronisierung bezieht sich darauf, dass mehrere Threads gleichzeitig auf gemeinsam genutzte Daten zugreifen und die gemeinsam genutzten Daten nur von einem Thread gleichzeitig gespeichert werden.

 Die grundlegendste Interaktion Die Ausschlussmethode ist das synchronisierte Schlüsselwort.

Sie können auch die Sperre im Paket java.util.concurrent verwenden, um die Synchronisierung von ReentrantLock zu erreichen.

JDK1.6 hat die Synchronisierung optimiert und die Effizienz ist im Wesentlichen die gleiche wie bei ReentrantLock.

 2 Nicht blockierende Synchronisation

 Optimistische Parallelitätsstrategie basierend auf Konflikterkennung

 CAS-Operation Compare-and-Swap

 3 Kein Synchronisationsschema

Lock-Optimierung

1. Spin-Lock und adaptiver Spin

2. Lock-Beseitigung

3. Lock-Vergröberung

4. Größen-Lock

5. Vorspannungssperre


Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn