Pregunta

He estado haciendo algunas pruebas acerca de la forma en que una aplicación .NET C # utiliza los recursos, como la CPU o la memoria. Escribí algunos bucles que los valores para calcular una gran cantidad de números y estoy satisfecho con el peso del algoritmo.

Tengo un procesador de cuatro núcleos a 2,4 GHz, pero me he dado cuenta de que en el Administrador de tareas, mi solicitud es sólo con el 25% de mi CPU. Por qué no está utilizando el 100%? ¿Esto significa que un .NET C # aplicación compilada en VS 2008 sólo es compatible con un solo núcleo de la CPU? ¿O hay una manera que puedo forzar que se use todas las CPU?

¿Fue útil?

Solución 4

¿Qué pasa si el uso del fondo de trabajo, si tengo la CPU Quad Core 4 de CPU puede alguien escribir un ejemplo de cómo podría reaccionar @ que la CPU?

Otros consejos

Todo depende de cómo se puede modificar el código para utilizar más de un núcleo.

A menos que usted está haciendo en paralelo o en operaciones con múltiples hilos, entonces el programa no utilizar más de un núcleo.

.NET 4 tiene una biblioteca que puede ayudarle a: Parallel LINQ. Para obtener más información, consulte esta página: http://msdn.microsoft.com/en- es / library / dd997425.aspx

Se ejecutará en 1 núcleo a menos que inicie de forma específica algunos de roscado.

La manera más fácil es empujar un método en el ThreadPool.

   System.Threading.ThreadPool.QueueUserWorkItem(DoSomething);

   void DoSomething() { ... }

Uso .NET 4.0 TaskLibrary que está diseñado para beneficiarse de multi-núcleo procesadores.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top