Einzelnen Beitrag anzeigen

alzaimar
(Moderator)

Registriert seit: 6. Mai 2005
Ort: Berlin
4.956 Beiträge
 
Delphi 2007 Enterprise
 
#7

Re: Probleme mit Threads und Aufgaben-Pool

  Alt 18. Mai 2005, 08:17
Richtig ist, wenn es läuft.
Denk einfach immer dran, bei Thread-Programmierung die gemeinsamen resourcen (Variablen, Klassen etc.) so zu schützen. Desweiteren beschäftige dich mal mit der Synchronisation von Threads (Semaphoren, Mutex, Events).
Bei Dir sollten die Threads einschlafen, sobald die Jobliste leer ist, und wieder aufwachen, sobald die Jobliste gefüllt wird. Weiterhin ist es überflüssig, für N Jobs M Threads (M>N) aufzuwecken. Optimal wäre es, maximal X Threads gleichzeitig zu starten, wobei X bei ca. 15 anzusiedeln ist. Irgendwann habe ich irgendwo mal gelesen das so 15 Threads die praktikable Obergrenze darstellt, weil der Prozess dann nur noch mit dem Umherschalten von Thread-Rechnerzeit beschäftigt ist. Ob das noch so stimmt, weiss ich nicht, kannst ja mal experimentieren.
"Wenn ist das Nunstruck git und Slotermeyer? Ja! Beiherhund das Oder die Flipperwaldt gersput!"
(Monty Python "Joke Warefare")
  Mit Zitat antworten Zitat