@alzaimar:
Erst mal vielen Dank für deine Mühe, die du in diese
Unit gesteckt hast. Ich bin gerade dabei, in einem von meinen kleinen "Projekten" davon zu profitieren....
Ein paar Fragen/Anmerkungen hätte ich aber doch:
- Was bezweckst du mit der Methode TWorkerThreadPool.Notify?
- Wie würdest du es anstellen, auf die Abarbeitung aller Jobs in der List zu warten, um z.B. irgendwelche Controls zu aktualisieren oder eine Statusmeldung auszugeben? (Polling auf TWorkerThreadPool.PendingJobCount = 0 ist ja wohl nicht der beste Weg...)
- In diesem Thread war mal eine Anmerkung:
Zitat:
Eins hab ich aber nicht ganz verstanden:
Wenn man Synchronized auf true setzt, wird der ganze Job über Synchronize(Run) ausgeführt. Wird das nicht zu einer blockierenden Operation dann ? Dann kann ich doch eigentlich diese Arbeit gleich im Haupt-
VCL-thread ausführen lassen.
Zitat:
stimmt auffallend...
Nun ist das aber immer noch so drin:
Delphi-Quellcode:
If fCurrentJob.Synchronized Then
Synchronize(Run)
Else
Run;
Läuft der synchronisierte Thread nun autark oder nicht?
(na ja, vielleicht habe ich deine Source auch noch nicht ganz verstanden...)
.sundance.