Java -Thread -Sperre
Verwenden Sie synchronisierte Schlüsselwörter in Java -Threads, um die Synchronisation zu erreichen
Synchronisiert können Methoden sperren, Klassen sperren, Objekte sperren, Codeblöcke sperren
Methodensperrung
// Die zur Methode hinzugefügte Synchronisationsschloss ist diese öffentliche synchronisierte void print () {System.out.println ("Synchronisierte Methode"); try {thread.sleep (3000); } catch (interruptedException e) {e.printstacktrace (); }}Klassenschloss
public synchronisierte void print (String msg) {// Klasse Lock Synchronized (mythead.class) {System.out.println (msg); try {thread.sleep (3000); } catch (interruptedException e) {e.printstacktrace (); }}} Objektschloss
Nehmen Sie die Bahntickets als Beispiel
Public Class Fenster erweitert Thread {public Fenster (Zeichenfolge Name) {Super (Name); } static int tick = 100; statische Zeichenfolge obj = new String (); @Override public void run () {// Starten Sie Tickets, wobei (Tick> 0) {// Code-Block synchronisieren // Ein Sperrschließtaste synchronisieren müssen. Alle Threads müssen hier synchronisiert werden (obj) {if (tick> 0) {System.out.println (GetName () + "verkauft die [" + Tick + "]. }} try {thread.sleep (100); } catch (interruptedException e) {e.printstacktrace (); }}}}Danke fürs Lesen, ich hoffe, es kann Ihnen helfen. Vielen Dank für Ihre Unterstützung für diese Seite!