E-Mail: [email protected]
Github: https://github.com/qiurunze123
QQ: 3341386488
QQ-Gruppe: 453259026
Bitte kontaktieren Sie mich für Nachdrucke und andere Vorgänge! Mir wäre es lieber, wenn Sie eine neue Version schreiben, die auf meiner basiert.
? Die Three Highs führten Soldaten und Pferde ein, ohne vorher Nahrung und Gras zu verwenden
Three-High-Import ist ein hochverfügbares, hochzuverlässiges und leistungsstarkes Three-High-Multithread-Importsystem (die Bedeutung dieses Projekts ist theoretisches Verständnis).
Die Bedeutung des Three-High-Import-Projekts besteht darin, mithilfe von Multithreading zig Millionen Ebenen zu importieren und drei Höhen zu erreichen:可扩展
,高性能
,高可用
und高可靠
. Dieses Projekt kann eine undifferenzierte Hochleistungsdatenberichterstattung erreichen und beim Importieren von Daten auf Dutzenden Millionen Ebenen wird数据可靠
Leistung um etwa das Zehnfache verbessert und Risiken vermieden, wenn gelegentliche数据一致
, Netzwerkschwankungen und andere Situationen数据重试
,数据报警
und andere Funktionen können in einigen wichtigen Situationen weiterhin erreicht werden: Datenabgleich, Kontobeträge, Rechnungen usw. erfordern täglich geplante Aufgaben und Hochrisikodaten, um sicherzustellen, dass die Daten fehlerfrei sind! Multithreading von einfach bis fortgeschritten, Analyse von Ein- und Ausstieg und praktische Arbeit. Abschließend werde ich ein Projekt zur Implementierung einer sicheren und hochverfügbaren Strategie für große Datenmengen vorstellen (es wurde mit Hunderten von Millionen getestet). von Daten) und eine beispielhafte DEMO-Analyse eines Hochverfügbarkeits-, Hochzuverlässigkeits- und Hochleistungs-Drei-Hoch-Importsystems, wie Daten-Sharding, Datenimport, Berechnung, Multithreading-Strategie usw. durchgeführt werden. Dieser Artikel gehört zur erweiterten Serie. Wenn Sie Fragen oder bessere Ideen haben, können Sie diese gemeinsam besprechen! Ein kleiner Vorschlag: Wenn Sie vor dem Erlernen dieser Wissensreihe noch nie mit SpringBoot
, CountDownLatch
,线程池
,工作队列
,工作窃取等
in Berührung gekommen sind, empfehle ich Ihnen, im Internet nach einer kurzen Einführung in jedes Wissen zu suchen , oder Sie können dieses Projekt herunterladen und lernen, indem Sie es tun. Ich möchte nicht eine Menge Artikel schreiben und unser Leben nicht verstehen Um es zu verstehen, lernen Sie es einfach, indem Sie es tun.
- Drei Projekte mit hohem Importwert
- Tischgestaltung
- Wie Daten fragmentiert werden
- So erreichen Sie eine hohe Verfügbarkeit
- So erreichen Sie Höchstleistungen
- So erreichen Sie eine hohe Zuverlässigkeit
- So passen Sie den Thread-Pool an und verwenden und importieren ihn
- Datenimportleistung (die vorherige Version von Sangao benötigte etwa 13 Sekunden, um 100.000 Daten zu importieren. Die neue Version befindet sich noch in der Entwicklung)
- Führen Sie eine Thread-Aufteilung durch, um Ressourcen zuzuweisen
Aktualisierte Version vor Multithreading – Bitte geben Sie den Codepfad ein: com.geek.threadandjuc
Inhaltsverzeichnis
? Java-Multithreading-Grundlagen
- Multithreading-Grundlagen
- Mehrere Konzepte, die Sie kennen müssen
- Wie viele Möglichkeiten gibt es, Multithreading zu implementieren?
- Was ist der Unterschied zwischen der Verwendung von Runnable im Multithreading und dem Erben der Thread-Klasse?
- So unterbrechen Sie Threads im Multithreading korrekt und ordnungsgemäß
- Multithread-Lebenszyklus-Zustandsmaschinenflussfehler und Fehleranweisung
- Multithread-Lebenszyklus-Zustandsmaschinenfluss
- Thread- und Objektklassen
- Wichtige Eigenschaften von Multithreading
- Multithread-Mechanismus zur Ausnahmebehandlung
- Detaillierte Interpretation der Multithread-Wait-Notify-Notifyall-Join-Sleep-Yield-Funktion und -Methode
- Welche Probleme kann Multithreading verursachen?
- Mehrere Singleton-Muster
- gleichzeitiger Container
- Einführung in die Karte
- Vektor und HashTable
- ConcurrentHashMap
- CopyOnWriteArrayList
- BlockingQueue
? ThreadLocal abrufen
- Holen Sie sich ThreadLocal
- Einführung in qualitative Nutzungsszenarien von ThreadLocal
- Es werden einige Methoden von ThreadLocal verwendet
- ThreadLocal-Quellcode-Analyse
- ThreadLocal-Speicherverlust
- ThreadLocal, um Speicherlecks zu vermeiden
- Anwendung von ThreadLocal im Frühjahr
? Thread-Pool
- Thread-Pool
- High-Level-Analyse des JDK-Thread-Pools
- Was ist Thread-Pool?
- Nachteile der mehrfachen Erstellung von Threads
- Wann soll der Thread-Pool verwendet werden?
- Vorteile von Thread-Pools
- Executor-Framework
- So verwenden Sie Hook-Funktionen für Thread-Pool-Vorgänge
- Schlüsselattribute des Thread-Pools
- Wichtige Eigenschaften von Multithreading
- Spezifische Implementierung des Thread-Pools
- Erstellung des Thread-Pools Z
- Erläuterung der Thread-Pool-Parameter
- Thread-Pool-Überwachung
- Quellcode-Analyse des Thread-Pools
- Methode ausführen
- addWorker-Methode
- Arbeiterklasse
- runWorker-Methode
- getTask-Methode
- ProcessWorkerExit-Methode
- Zusammenfassung
- ProcessWorkerExit-Methode
- Handgeschriebener Thread-Pool-Code
?Erweitertes Multi-Threading-Update
?Multi-Thread-Sicherheitsthema
- Thread-Pool
- Es gibt verschiedene Arten von Thread-Sicherheitsproblemen
- Welche Szenarien erfordern besondere Aufmerksamkeit für Thread-Sicherheitsprobleme?
- Multithread-Switching-Kontext
- Deadlock-Spezial
Juc-Freigabe mit mehreren Threads
https://github.com/qiurunze123/threadandjuc/blob/master/docs/threadinterview.md
Ohne es zu wissen, ist es ein halbes Jahr lang aktualisiert worden. Von den Grundlagen über die Parallelität bis hin zur direkten Anwendung in Projekten ist es an vielen Stellen nicht sehr gut, aber es ist ein Test für eine Person. Vom Verständnis über die Anwendung bis zum Schreiben ist es ein langwieriger Prozess.
Es war zeitaufwändig und arbeitsintensiv, aber ich bin froh, dass ich nicht aufgegeben und es endlich abgeschlossen habe. Ich hoffe, dass ich die Korrekturen und Meinungen aller bekomme und noch mehr Menschen helfen kann.
千岩万壑不辞劳 远看方知出处高 溪涧岂能留得住 终归大海做波涛 2019/9/24