Einzelnen Beitrag anzeigen

Sequitar

Registriert seit: 8. Jan 2016
74 Beiträge
 
Delphi 10.4 Sydney
 
#3

AW: DLL Tparallel.for loop deadock

  Alt 16. Sep 2021, 21:55
Rufst du CheckSynchronize aus dem Hostprogramm heraus über eine exportierte Funktion in der DLL auf? Nur dann funktioniert die Threadsynchronisation in einer Delphi-DLL normal.

OK Danke!, auf so was wäre ich nie gekommen! - Also die Antwort ist erst mal : nein rufe ich nicht.
Wie genau würde ich dass denn praktisch machen? Hättest du ein kurzes Beispiel?

Geplant war als (kompliziertre Variante) auch Folgendes:

Also ich kommuniziere mit der DLL über ein interface. Innerhalb der interface-Implementierung, zb. tsomecontainer=class private fworker:tmyworkerthread; {handlearray und waitfor multiple muss noch gebaut werden, sobald der eine hier halt läuft...} end; habe ich dann mehrere worker threads geplant, die mir eine (bisher lange) berechnung parallelisieren sollten.

Von ausserhalb der dll rufe ich dann nach fertigstellung aller einzelner Threads und der berechnung eigentlich nur das gemeinschaftliche ergebnis ab.


Das wäre mir nur relativ zu viel Aufwand hierfür.

Geändert von Sequitar (16. Sep 2021 um 21:58 Uhr)
  Mit Zitat antworten Zitat