Codebeispiele aus Delphi -Thread -Sicherheitsmustern Buch
https://dalija.prasnikar.info/delphitspatt/
https://dalija.prasnikar.info
Teil 2. Die Kern-Laufzeitbibliothek
Kapitel 5. Floating-Punkt-Steuerregister
- Brokenmath.dpr
- Brokenmath.dproj
- Safemath.dpr
- Safemath.dproj
Kapitel 7.1. Parameter
- Parameter.dpr
- Parameter.dproj
- ParameterMainf.pas
- ParameterMainf.dfm
Kapitel 8. Klassenfelder, Singletons und Standardinstanzen
- Singletons.dpr
- Singletons.dproj
- SingletonsMainf.pas
- SingletonsMainf.dfm
- Singletonclasses.pas
- Singletonlocal.pas
- Singletonclassprop.pas
- SingletonLazy.pas
Kapitel 12. Sammlungen
- CollectionStest.dpr
- CollectionStest.dproj
- SammlungenMainf.pas
- SammlungenMainf.dfm
Kapitel 13. Verarbeitung Paralleler Sammlung
Teil 3. Kernrahmenbedingungen
Kapitel 16. Serialisierung
- Serialisierung.dpr
- Serialisierung.dproj
- SerializationMainf.pas
- SerializationMainf.dfm
Kapitel 17. System.net
- Netclient.dpr
- Netclient.dproj
- NetclientMainf.pas
- NetclientMainf.dfm
Kapitel 19. Indy
- Indy.dpr
- Indy.dproj
- Indymainf.pas
- IndyMainf.dfm
Kapitel 20. Ruhe
- RestDemo.dpr
- RestDemo.dproj
- Restmainf.pas
- Restmainf.dfm
Kapitel 21. Regelmäßige Ausdrücke
Teil 5. Grafik und Bildverarbeitung
Kapitel 27. Ressourcenkonsum
- Ressourcen.dpr
- Ressourcen.dproj
- RessourcenMainf.pas
- Ressourcenmainf.dfm
Kapitel 30. VCL Graphics Beispiel
- Bilder.dpr
- Bilder.dproj
- ImagesMainf.pas
- ImagesMainf.dfm
Teil 6. Benutzerdefinierte Frameworks
Kapitel 33. Protokollierung
- Nx.log.pas
- Logging.dpr
- Logging.dproj
Kapitel 34. Stornierzeichen
- Nx.tokens.pas
- Tokens.dpr
- Tokens.dproj
- TokensMainf.pas
- TokensMainf.dfm
Kapitel 35. Eventbus
- Nx.horizon.pas
- Horizon.dpr
- Horizon.dproj
- Horizonmainf.pas
- Horizonmainf.dfm
Kapitel 36. Messung der Leistung
- Nx.chronos.pas
- Zerothead.dpr
- Zerothead.dproj
Hinweis: Der Zweck der vorgestellten Beispiele ist es, entweder Thread-Unsafe-Code und Probleme zu zeigen, die in einem solchen Code auftreten können, oder allgemeine Codierungsmuster zum Erreichen von Thread-sicherer Code anzuzeigen, während mehrere Threads ausgeführt werden. Daher implementieren viele von ihnen keine ordnungsgemäße Reinigung beim Herunterfahren der Anwendungen. Wenn Sie die Anwendung vor dem Start von Hintergrundaufgaben oder -Threads abschließen, kann die Anwendung abgestürzt werden.
Um eine saubere Abschaltung durchzuführen, müssen Sie entweder auf Aufgaben oder Thread -Abschluss warten oder einen anderen Mechanismus verwenden, der beim Zugriff auf GUI oder andere gemeinsam genutzte Daten während des Herunterfahrens der Anwendung verhindert.
Sie finden Beispiele zum Herunterfahren der Anwendung unter https://github.com/dalijap/code-delphi-async Kapitel 35.2 Säuberung der GUI-Zerstörung