Das Beispiel dieses Artikels fasst die Java Central -Thread -Nutzungsmethode zusammen. Teilen Sie es für alle für Ihre Referenz. Die spezifische Analyse ist wie folgt:
1. Der Thread ist die grundlegende Planungseinheit. Die Ressourcen des gemeinsam genutzten Prozesses wie Speicher- und Dateihandles. Aber mit Ihrem eigenen PC (Programmzähler), Stapel (Thread Stack) und lokalen Variablen
2. Die Vorteile des Threads:
a) Nutzen Sie mehrere Prozessoren voll aus
b) kann das Modell vereinfachen. Spezifische Aufgaben werden für bestimmte Threads übertragen. Wie Servlets und RMI und andere Frameworks.
c) einfache Behandlung asynchroner Ereignisse. NIO ist wie Socket komplizierter. Das aktuelle Betriebssystem unterstützt eine größere Anzahl von Threads.
d) Bessere Reaktion der Schnittstelle
3. Interne Schloss: Synchronisierter Block. Gegenseitig. Reunar), ein solches Design kann tote Schlösser vermeiden
4. Speichersichtbarkeit: Aufgrund der Optimierung des Compilers ist der Thread nicht mit dem, was Sie sehen.
Öffentliche Klasse {private statische Boolesche Bereit; Main (String [] args) {new ReadRead ().
Kann 0 drucken oder zirkulieren. Weil es sortiert ist
5. Volatile: Es kann die Sichtbarkeit des Speichers lösen und eine bessere Leistung für synkronisiert, aber das ist nichts weiter als das, wenn Sie die Atomizität von A ++ nicht garantieren können
6. Escape: Überlösen Sie den Zeiger im Konstruktor nicht. Überfließen Sie die internen Variablen nicht, wie z. B.:
Klasse test {private String [] list = new String [] {};
7. Threads geschlossen: Das Objekt in einem Thread schließen, unabhängig davon, ob das Objekt sicher ist oder nicht, kann sicherstellen, dass der Thread sicher ist
a) Statck -Grenze. Das heißt, nur lokale Variablen können auf das Objekt zugreifen.
b) ThreadLocal.
8. unveränderte Objekte. Es muss fadensicher sein. Unbefriedigende Objekte müssen erfüllt sein:
a) Der Staat kann nach der Erstellung nicht geändert werden.
b) Die Domäne ist also voll
c) Erstellen Sie das Objekt korrekt, ohne diesen Zeigerüberlauf
9. sicher veröffentlichen
a) Initialisierungsobjekt durch statisches
b) Verwenden Sie volatile oder Atomicreference
c) Die endgültige Domäne des korrekt erstellten Objekts wird in gespeichert
d) Schlösser verwenden
Es ist zu hoffen, dass dieser Artikel für Java -Programmdesign aller hilfreich ist.