Ich habe eine interessante Übung von meinem Professor zu lösen. Aber ich brauche ein bisschen Hilfe, damit es in den Ferien nicht langweilig wird.Wie kann ich mit dem Erstellen eines Multithread-Lastenausgleichs beginnen?
Die Bewegung ist zu
- einen multithreaded Load Balancer erzeugt, dass jeder zweiten Messpunkt 1 aus 5-Sensoren liest. (also 5 Werte pro Sekunde).
- Dann machen Sie einige "komplexe" Berechnungen mit diesen Werten.
- Ergebnisse der Berechnungen auf dem Bildschirm drucken. (wie Max Wert oder Durchschnittswert von Sensor 1-5 und so weiter, natürlich Multithread)
- Als zusätzliche Aufgabe muss ich auch sicherstellen, dass, wenn in Zukunft zum Beispiel 500 Sensoren jede Sekunde gelesen werden würde, der Computer nicht Beenden Sie den Job (Load Balancing).
Ich habe eine CSV-Textdatei mit ~ 400 Messstellen von 5 imaginären Sensoren.
Was ich glaube, ich habe zu tun:
- Lesen Sie die Messpunkte in einem Array
- zu diesem Array Thread sicheren Zugang Stellen Sie sicher,
- Spawn ein neuer Thread für jeden Wert, der einige Sachen Mathematik berechnet
ich bin ein Maximalwert für maximale Anzahl gleichzeitiger Arbeitsfäden Setzen Sie neue applicatio auf Multithreading ns in C#, aber ich denke, Threadpool ist der richtige Weg. Ich arbeite gerade an einer Warteschlange und starte sie möglicherweise in einer Aufgabe, damit sie die Anwendung nicht blockiert.
Was würden Sie empfehlen?
Haben Sie für jeden Sensor unabhängig Mittelwerte beabsichtigen, berechnen max, beschäftigen möchten? – alexm
Ja, das ist das "Design". es sollte irgendwie mit zunehmenden Sensoren skalieren aber sollte den Prozessor nicht töten .... –
oder wichtiger: sollte die Anwendung und seine Funktion nicht –