Question

Je fais des tests sur la façon dont une application .NET C # utilise des ressources, comme CPU ou de la mémoire. J'ai écrit quelques boucles que les valeurs de calculer pour une grande quantité de chiffres et je suis satisfait avec le poids de l'algorithme.

J'ai un processeur Quad Core 2,4 GHz, mais je l'ai remarqué que, dans le Gestionnaire des tâches, mon application n'utilise 25% de mon CPU. Pourquoi pas en utilisant 100%? Est-ce que cela signifie que .NET C # application compilée dans VS 2008 ne supporte que seul CPU Core? Ou est-il un moyen que je peux le forcer à utiliser toutes les CPU?

Était-ce utile?

La solution 4

Qu'en est-il si j'utiliser Contexte de travail, si j'ai CPU Quad Core 4 Quelqu'un peut-il d'écrire CPU un exemple comment pourrait-il réagir @ que CPU?

Autres conseils

Tout dépend de la façon dont vous pouvez modifier votre code pour utiliser plus d'un noyau.

À moins que vous faites en parallèle ou opérations multithread, le programme ne sera pas utiliser plus d'un noyau.

.NET 4 possède une bibliothèque qui peut vous aider: Parallel LINQ. Pour plus d'informations, consultez cette page: http://msdn.microsoft.com/en- nous / bibliothèque / dd997425.aspx

Il se déroulera au 1 cœur à moins que vous commencez spécifiquement un certain filetage.

Le plus simple est de pousser une méthode sur le ThreadPool.

   System.Threading.ThreadPool.QueueUserWorkItem(DoSomething);

   void DoSomething() { ... }

Utilisation .NET 4.0 TaskLibrary qui est conçu pour bénéficier de plusieurs noyaux processeurs.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top