Tutorial
Threading
von ThePuppetMaster | Seite 1 von 5 |
Threading ist wohl eine der schönsten Arten ein Programm auf Geschwindigkeit zu bringen.
Die Vorzüge von Threading liegen nahe:
- Quasi gleichzeitiges ausführen von Quellcode
- Modulare Programmierung ermöglicht auch die Verteilung auf mehrere CPUs für reales Multithreading
- Synchrone Funktionen mit langen Wartezeiten können asynchronisiert werden
- ...
Dies sind nur ein paar Vorteile, die sich durch Threading ergeben. Jedoch sollte man auch deren Nachteile nicht außer acht lassen:
- Zugriff auf die selbe Ressource (Speicher) müssen geschützt werden um Speicherzugriffsfehler zu unterbinden.
- Funktionen die innerhalb eines Threads Verwendung finden und auf die selbe Ressource zugreifen müssen ebenfalls geschützt werden.
- Initialisierung und Terminierung eines Threads benötigen mehr Zeit, als ein reiner Funktionsaufruf.
- Der Speicherverbrauch steigt an, da jeder Thread seinen eigenen Namensraum benötigt.
- Threads die mit Co-Prozessoren arbeiten können nicht parallelisiert werden.
- Dateizugriffe und "FreeFile" müssen, sofern sie in Threads vorkommen, ebenfalls mit einem Mutex geschützt werden. (Das Mutex muss hier das "FreeFile" zusammen mit dem "Open" schützen) (Siehe hierzu auch: Threading Optimierung - Schutz beim Zugriff auf das Dateisystem)
'...
Dim XFN as Integer
MutexLock(Mutex)
XFN = FreeFile
Open "bla" for binary as #XFN
MutexUnlock(Mutex)
'...
- ...
Kapitel
- Die Thread strukturierung
- Global verwendete Resource schützen
- Zeitproblematik bei wechselseitigem Schutz
- Alternative Lösung der wechselseitgen Schutzproblematik
- Threading Optimierung (Separates Tutorial)
Zusätzliche Informationen und Funktionen | |||||||
---|---|---|---|---|---|---|---|
|
|