mehrere Aufgaben gleichzeitig (Multithreading?)

Railer

Mitglied
Hi!

also, die Sache ist folgende: Es geht um ein Internet-InfoSystem. Während ein User eine Seite anguckt mit meist grossen Auftragslisten, sollen im Hintegrund SQL-Abfragen laufen, von denen User nichts mitbekommt. Die Ergebnisse dieser Abfragen werden dazu genutzt um die nächste Seite viel schneller laden zu lassen.
Würde es sich dabei um Multithreading handeln?
Wie hört sich das an? Realisierbar?

Vielen Dank für evtl. Ratschläge!
 
Zuletzt bearbeitet:
Ja genau, dabei würde es sich um Multithreading handeln.
Realisierbar ist das schon, die Frage ist nur, in wie fern es auch nötig ist.

Eine SQL-Abfrage nimmt ja (auch bei mehreren tausend Datensätzen) nicht gerade sehr viel Zeit in Anspruch. Sind die Abfragen wirklich so komplex und zeitraubend, dass der User der Webseite es deutlich merken würde, wenn sie auf dem Mainthread laufen würden?

Und zum Thema Multithreading kann ich auch folgendes noch empfehlen:
Klick
 
Hi!

Ich habe mich soeben etwas mit den Threads beschäftigt, ist echt ne feine Sache, allerdings habe ich mir die Nutzung etwas anders vorgestellt. Es ist kein Problem während einer SQL-Abfrage einen separaten Thread laufen zu lassen, der etwas macht. Ich wollte aber, dass eben eine Prozedur oder ein Thread während dem "Nichtstun" passiert.
Ein Beispiel: User guckt sich die aktuelle Auftragsliste an, während dessen läuft eine Abfrage, die dauert in der Tat nicht lange, einige Sekunden und es wird ein DataGrid aufgefüllt (was länger dauert) als quasi Cache für die Nächste seite. Und wenn der User die nächste Seite aufruft, wird der bereits aufgefüllte Grid übergeben und die Seite ist fertig.
Ich muss also etwas machen können, während der User einfach eine Seite ansieht. Ob man das machen kann
 
Wenn du die Daten aus der Datenbank in ein DataSet lädst, dauert dann das auffüllen des DataGrid nicht nur einen kurzen Augenblick (ist das nicht nur eine visuelle Angelegenheit und somit auch clientseitig)?

Ist die Datenbankabfrage für jeden User unterschiedlich? Wenn nicht, dann kannst du das DataSet Objekt ja eben im 'wirklichen' Cache ablegen.

Ich finde für diese Angelegenheit einen eigenen Thread etwas übertrieben, da eben die Datenbankafrage wohl nur einen kurzen Augenblick dauert und wenn die Daten erstmal im DataSet sind sollten alle anderen Operationen damit eigentlich auch recht flott gehen.
 
Zurück