Einzelnen Beitrag anzeigen

Benutzerbild von bytecook
bytecook

Registriert seit: 6. Aug 2010
Ort: Dornbirn
151 Beiträge
 
Delphi 11 Alexandria
 
#24

AW: OmniThreadLibrary: Was ist für meine Anforderung der richtige Weg? Welchen Contai

  Alt 25. Okt 2017, 00:32
Nochmal kurz was zu Omnithread

Omnithread hat für mich einige gewaltige Vorteile mitgebracht, insbesonders die Messageimplementierung, und der Fakt, dass alle Aktualisierungen der Gui mittels Messages im Mainthread erfolgen. Kein ausbremsendes Synchronize mehr, wenn man was visuell aktualisieren möchte.
Es braucht je nach Komplexität der Aufgabe definitiv ein paar Tage oder Wochen an Einarbeitungszeit, um effektiv Nutzen aus dem Library zu ziehen. Critical Sections kann man mit OTL in den meisten Fällen recht elegant umgehen, das spart in zeitintensiven Bereichen einige CS Kernelaufrufe.

Das Buch "Parallel Programming with OmniThreadLibrary" von Primož Gabrijelčič, erhältlich unter

https://leanpub.com/omnithreadlibrary

war und ist extrem hilfreich. Download als PDF, EPUB oder MOBI auf Leanpub verfügbar. (Btw, dort gibt es auch ein nettes Nick Bundle: https://leanpub.com/b/nicksdelphibookbundle/)

Den gesamten Buchinhalt kann man auch online lesen ... http://otl.17slon.com/book/chap00.html
Der für mich wichtigste Teil war der Lowlevel Teil ... http://otl.17slon.com/book/chap05.html#lowlevel
Zum besseren Verständnis des Messagings ... http://www.thedelphigeek.com/2008/07...s-otlcomm.html


Das Schöne bei OTL ist, daß man mit den OTLMessages Objekte, respektive Objektinstanzen in der TOmniValue verschicken kann.
Kommunikation zwischen Threads findet mittels TwoWayComm statt, Beispiele sind im Master von Omnithread immer mit an Bord. Vorsicht, die liegen nicht im \Examples, sondern im \Tests Verzeichnis.

PS: Falls ein Demo mit Tokyo nicht startet, einfach FastMM4 aus dem Demo-Projektquellcode auskommentieren...
Peter
Was mache ich, wenn ein Bär meine Frau angreift?
Nichts. Er hat sie angegriffen, soll er doch selber sehen, wie er sich verteidigt.

Geändert von bytecook (25. Okt 2017 um 09:59 Uhr)
  Mit Zitat antworten Zitat