Domanda

Ho fatto alcune prove sul modo in cui un # NET C utilizza le risorse, come la CPU o memoria. Ho scritto alcuni loop che i valori di calcolare per una grande quantità di numeri e sono soddisfatto con il peso dell'algoritmo.

Ho un Quad Core da 2,4 GHz, ma ho notato che in Task Manager, la mia domanda è solo utilizzando il 25% del mio CPU. Perché non è vero utilizzando il 100%? Questo significa che un .NET C # applicazione compilata in VS 2008 supporta solo Single Core CPU? O c'è un modo che posso forzarlo ad utilizzare tutte le CPU?

È stato utile?

Soluzione 4

Che dire se l'uso di fondo di lavoro, se ho CPU Quad Core 4 CPU Qualcuno può scrivere un esempio di come potrebbe reagire @ che la CPU?

Altri suggerimenti

Tutto dipende da come è possibile modificare il codice per utilizzare più di un core.

A meno che non si sta facendo le operazioni multi-threaded in parallelo o, quindi il programma non utilizzare più di un core.

.NET 4 ha una biblioteca che può aiutare a: Parallel LINQ. Per ulteriori informazioni si veda questa pagina: http://msdn.microsoft.com/en- us / library / dd997425.aspx

Sarà eseguito a 1 nucleo meno di iniziare specificatamente qualche threading.

Il modo più semplice è quello di spingere un metodo sul ThreadPool.

   System.Threading.ThreadPool.QueueUserWorkItem(DoSomething);

   void DoSomething() { ... }

Usa .NET 4.0 TaskLibrary che è stato progettato per beneficiare multi-core processori.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top