Moin!
Bitte helft mir mal auf die Sprünge: Wie macht man folgendes am richtigsten?
Das grundsätzliche Vorgehen ist dieses:
Der Hauptthread des Dienstes ermittelt die abzuarbeitenden Jobs. Die schreibt er in die Job-Liste der einzelnen Job-Threads.
Die Job-Threads erledigen die Jobs und schreiben sie dann in die JobsDone-Liste des Hauptthreads zurück.
Dann löscht der Hauptthread die Jobs, die in der JobsDone-Liste stehen.
Die Frage ist: Auf welche Weise schreibt man am besten (damit man die höchste Geschwindigkeit erzielt) in die Listen der Threads(Haupt->Job und Job->Haupt)?
Jeden Job einzeln oder mehrere Jobs in einem Rutsch?
Der Hintergrund der Frage ist: Beim Schreiben muss man die Liste ja sperren, bzw. irgendeiner andere Methode (CriticalSection, ...) nutzen um Konflikte zu vermeiden. In der Zeit werden die anderen Threads ja blockiert.
Was ist also der beste Weg möglichst wenig Wartezeit zu haben?