Frage

Ich habe einige Tests getan über die Art und Weise eine .NET C # Anwendungsressourcen verwendet, wie CPU oder Speicher. Ich schrieb einige Schleifen, dass berechnen Werte für eine große Menge von Zahlen, und ich bin mit dem Gewicht des Algorithmus erfüllt.

Ich habe einen Quad-Core-Prozessor mit 2,4 GHz, aber ich habe bemerkt, dass in der Task-Manager, meine Bewerbung nur 25% meiner CPU verwendet. Warum ist es nicht mit 100%? Heißt das, dass ein # Verwendung .NET C in VS 2008 kompiliert nur Single-Core-CPU unterstützt? Oder ist es eine Möglichkeit, dass ich es erzwingen kann alle CPUs zu benutzen?

War es hilfreich?

Lösung 4

Was ist, wenn i Hintergrund-Arbeiter verwenden, wenn i CPU Quad Core 4 CPUs kann jemand schreiben haben ein Beispiel, wie es @ dieser CPU reagieren könnte?

Andere Tipps

Es hängt alles davon ab, wie Sie Ihren Code ändern können mehr als ein Kern zu verwenden.

Wenn Sie nicht parallel oder Multi-Threaded-Operationen tun, dann wird das Programm nicht mehr als ein Kern verwenden.

.NET 4 verfügt über eine Bibliothek, die Ihnen helfen können: Parallel LINQ. Weitere Informationen zu dieser Seite: http://msdn.microsoft.com/en- us / library / dd997425.aspx

Es wird auf 1 Kern laufen, wenn Sie speziell etwas Threading beginnen.

Der einfachste Weg ist es, ein Verfahren auf den Threadpool zu drücken.

   System.Threading.ThreadPool.QueueUserWorkItem(DoSomething);

   void DoSomething() { ... }

Verwenden .NET 4.0 TaskLibrary die für profitieren von Multi-Core ausgelegt ist Prozessoren.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top