Einzelnen Beitrag anzeigen

Manfred D2009

Registriert seit: 2. Jun 2009
25 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#11

AW: Threads (tpIdle) blokieren Anwendung

  Alt 19. Jun 2012, 07:27
Nach der letzten Anregung und etwas grübeln habe ich folgende Lösung integriert:

- jeder Thread erhält ein Signal
- statt den einfachen Sleep-Aufrufen wartet ein Thread nun auf das Signal oder eine bestimmte Zeit (ähnlich wie beim Sleep). Die "Wait"-Zeit habe ich höher gesetzt als bei den Sleep-Aufrufen, damit gibt es weniger Blockaden durch synchronisierte Abschnitte.
- Ist der Hauptthread ohne Arbeit (OnIdle-Ereignis) oder sollen die Threads beendet werden, so werden die Signale abgefeuert, so dass die Threads gar nicht warten müssen.

Die ersten Tests waren vielversprechend und die Berechnungen sind im Idle-Fall sogar schneller als vorher...
  Mit Zitat antworten Zitat