Veröffentlichung: Ein Objekt soll ermöglichen, es durch Code außerhalb des aktuellen Bereichs zu ermöglichen:
Gemeinsame Formen: Verweise auf Objekte auf öffentliche statische Bereiche speichern; Rückgabe von Referenzen in nicht privaten Methoden; Veröffentlichung interner Klasseninstanzen, einschließlich Referenzen.
Escape: Veröffentlichen Sie das Objekt, wenn es nicht fertig ist.
Lassen Sie diese Referenz nicht dem Konstruktor entkommen. Starten Sie beispielsweise einen Thread im Konstruktor, und der Thread enthält Verweise auf das Objekt.
Synchronisierter Container: Führen Sie den Reisezugriff auf alle Zustände des Containers, Vektors, Hashtable, Cllections.SynchronizedMap | Feur
Concurrent Container: Concurrenthashmap, CopyonWriteArrayList, Concurrent LinkedQueue, Blockingqueue
Listen Sie die Vorteile der Zufallszugriffsfunktion auf.
Blockieren fügt blockierbare Get -Set -Operationen hinzu
Concurrenthashmap: getrennte Schlösser, einen hohen Durchsatz für den gleichzeitigen Zugriff, während er fast keine Zugriffsleistung eines einzelnen Fadens verliert. Gibt einen schwach konsequenten Iterator zurück.
Die schwache Konsistenz des Iterators erfasst Änderungen im Container nach der Erzeugung des Iterators.
Die gleichzeitige Behältergröße () isEmpty () wird geschwächt und gibt ein ungefähres Ergebnis zurück.
CopyonWriteArrayList: Kopieren Sie jedes Mal, wenn der Container geändert wird, und die iterative Anforderung ist größer als die Änderungsanforderung.
Das Hersteller-Verbraucher-Modell, das beschränkte Blockierungswarteschlangen verwendet, um Produzenten und Verbrauchercode zu entkoppeln.
Der Ausführungsrahmen für den Ausführungsbereich von Executor implementiert das Hersteller- und Verbrauchermodell.
Synchronousqueue: Warten Sie, bis der Verbraucher verfügbar ist, und warten Sie, bis der Hersteller verfügbar ist, und für Szenarien geeignet, in denen der Verbraucher ausreicht.
Eine doppelte Warteschlange ist mit dem Arbeitsmodus für den Arbeitsmodus verbunden. Es unterscheidet sich von der Tatsache, dass alle Verbraucher eine Arbeitswarteschlange im Hersteller-Verbraucher-Modus teilen. Jeder Verbraucher im Arbeitsmodus für Arbeitsmodus hat seine eigene zweigefragte Warteschlange. Wenn ein Verbraucher alle seine Arbeiten erledigt, kann er am Ende anderer Verbraucherwarteschlangen Aufgaben stehlen.
Der Arbeitsmodus für den Arbeitsmodus eignet sich beim Laufen zu einer Einheit einer Aufgabe. Es können mehr Aufgaben identifiziert werden, z. B. das Durchqueren von Dateien.
Wenn eine Methode eine InterruptedException werfen kann, bedeutet dies eine blockbare Methode. InterruptedException werfen oder fangen.
Synchronizer: Synchronizer --- Semaphor, Barriere, Verriegelung, kapsuliert den Zustand, bestimmt das Verhalten des Threads in diesem Zustand (Pass oder Blöcke), bietet eine Methode zur Manipulation des Zustands und wartet effizient auf die Synchronisation, um den gewünschten Zustand einzugeben.
Verriegelungssperrung: Verzögert den Fadenfortschritt, bis der Faden einen Endstatus erreicht, wie ein einmaliger Schalter. Kann verwendet werden, um sicherzustellen, dass eine bestimmte Aktivität erst erfolgt, wenn andere Aktivitäten abgeschlossen sind.
Zum Beispiel:
Futuretask kann als Verriegelung, abstrakte tragbare Ergebnisberechnung verwendet und durch Callable implementiert werden. Future.get hängt vom Ausführungsstatus der Aufgabe ab. Wenn die Aufgabe abgeschlossen ist, wird das Ergebnis zurückgegeben. Ansonsten wird es warten.
Das Executor -Framework verwendet Futuretask, um asynchrone Aufgaben zu erledigen.
SEMAPHER -SEMAPHER: Wird verwendet, um die Anzahl der Aktivitäten zu steuern, die gleichzeitig auf eine bestimmte Ressource zugreifen können, oder gleichzeitig einen bestimmten Vorgang ausführen, Ressourcenpool, Containergrenze.
Barrierespiegel: Ähnlich wie das Verriegelung müssen alle Threads gleichzeitig das Niveau erreichen, bevor sie weiter verarbeiten können. Die Verriegelung wartet auf Zeit und das Level wartet auf andere Themen und wird wiederverwendet. Auf der Ebene wird eine eindeutige Ankunftsindexnummer für jeden Thread zurückgegeben, mit dem ein Führer gewählt und in der nächsten Iteration einige spezielle Aufgaben übernommen werden kann.
Austauscher ist eine Form eines Levels.
Das obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, dass der Inhalt dieses Artikels für das Studium oder die Arbeit eines jeden hilfreich sein wird. Ich hoffe auch, Wulin.com mehr zu unterstützen!