Heim > Java > javaLernprogramm > Hauptteil

Welche Möglichkeiten gibt es, Thread-Sicherheit in Java zu implementieren?

王林
Freigeben: 2019-11-27 14:55:05
nach vorne
5489 Leute haben es durchsucht

Welche Möglichkeiten gibt es, Thread-Sicherheit in Java zu implementieren?

Um Thread-Sicherheit zu erreichen, sind im Allgemeinen mindestens zwei Merkmale erforderlich: Atomizität und Sichtbarkeit.

Implementierungsmethode:

1) Verwendung synchronize: Es ist atomar und sichtbar. Wenn Sie also den geänderten Synchronisierungsvorgang verwenden, ist es mit Sichtbarkeitsgeschlecht verbunden. synchronizedVerwendung pessimistische Sperren, um Thread-Sicherheit zu erreichen;

2) Verwenden Sie atomare Klassen anstelle von Basisdatentypen, um a++ in einer Multithread-Umgebung auszuführen Die Klassenimplementierung AtomicInteger verwendet auch flüchtig, um die Sichtbarkeit sicherzustellen. Verwenden Sie incrementAndGet(), um die native lokale Methode Unsafe aufzurufen. CAS verwendet Bussperren oder Cachesperren, um Atomizität sicherzustellen. CAS >Java-Video-Tutorials

3) Bei Verwendung des Schlüsselworts muss volatile nicht unbedingt atomar sein, z. B. die Verwendung flüchtiger Variablen zur Ausführung von ++ oder - -Operationen (num++), die wir benötigen Damit die durch volatile geänderte Variable atomar sein muss, können wir sie im Allgemeinen wie folgt auf die Variable vom Typ

festlegen:

volatile boolean tag = true;
线程1 while(tag){};
线程2 while(tag){};
Nach dem Login kopieren
volatile Wenn es eine Variable gibt, die zu- oder abnimmt, verwenden wir Atomklassen ( boolean) verwendet werden.

4) Verwenden Sie AtomicInteger, um jeden Thread zu isolieren.

5) Wir können auch andere Sperren verwenden, z. B. Wiedereintrittssperren (ThreadLocal), um die Thread-Sicherheit sicherzustellen 🎜>6) Wir können auch kritische Abschnitte, Mutexe und Semaphoren verwenden, um die Thread-Sicherheit zu gewährleisten.

Dieser Artikel wird von der Rubrik ReentrantLockJava-Einführungslernen

empfohlen. Jeder ist herzlich willkommen, gemeinsam zu lernen und zu kommunizieren.

Das obige ist der detaillierte Inhalt vonWelche Möglichkeiten gibt es, Thread-Sicherheit in Java zu implementieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:csdn.net
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage