AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Asynchron Jobs abarbeiten - Best Practice?

Asynchron Jobs abarbeiten - Best Practice?

Ein Thema von chaosben · begonnen am 14. Mai 2010 · letzter Beitrag vom 14. Mai 2010
 
Benutzerbild von chaosben
chaosben

Registriert seit: 27. Apr 2005
Ort: Görlitz
1.358 Beiträge
 
Delphi XE2 Professional
 
#1

Asynchron Jobs abarbeiten - Best Practice?

  Alt 14. Mai 2010, 09:07
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?
Benjamin Schwarze
If I have seen further it is by standing on the shoulders of Giants. (Isaac Newton)
  Mit Zitat antworten Zitat
 

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:36 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz