Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#3

Re: bei mehreren threads reagiert form1 nicht

  Alt 15. Mai 2006, 12:30
Bei synchronize; wird ja der Hauptthread solange angehalten, bis die damit aufgerufene Funktion beendet ist ... ich vermute einfach mal, daß nun die "vielen" Threads einfach zuschnell den Hauptthread sperren, so das dieser keine Chance bekommt irgendwas abzuarbeiten.

Versuch mal Forlgendes:
Delphi-Quellcode:
procedure tmythread.Execute;
begin
  tcount:=1;
  repeat
   synchronize(display);
   sleep(100); // ein bissl Zeit für'n Hauptthread
   inc(tcount);
  until tcount>300;
end;
und bei "echt" vielen Thread muß (wenn's klapt) die Zeit aber vergrößert werden, da sie sich ja im Durchschnitt aufteilt ... also bei 50 Threads bleiben (100 / 50 = 2) ja wiederum nur noch durschschnittlich 2 ms Zeit, in denen der Hauptthread was machen kann.
$2B or not $2B
  Mit Zitat antworten Zitat