Threads par Processeur

En Java, est-il un moyen via un programme pour trouver le nombre de threads simultanés sont pris en charge par un CPU?

Mise à jour

Pour être clair, je ne suis pas en train de marteler le CPU avec les fils et je suis conscient de l'Exécution.getRuntime().availableProcessors() de la fonction, qui me fournit une partie de l'information que je cherche.

Je veux savoir si il y a un moyen de régler automatiquement la taille du pool de threads de sorte que:

  • si je suis en cours d'exécution sur un enfant de 1 an de serveur, j'obtiens 2 fils (1 thread par CPU x l'arbitraire d'un coefficient multiplicateur de 2)
  • si je passe à un processeur Intel i7 quad core de deux ans à partir de maintenant (qui prend en charge 2 threads par cœur), j'ai 16 threads (2 logique threads par PROCESSEUR x 4 Processeurs x l'arbitraire multiplicateur de 2).
  • si, au lieu de cela, j'utilise un huit core Ultrasparc T2 serveur (qui prend en charge 8 threads par cœur), je reçois 128 threads (8 threads par PROCESSEUR x 8 Processeurs x l'arbitraire multiplicateur de 2)
  • si je déployer le même logiciel sur un cluster de 30 machines différentes, potentiellement achetées au cours de différentes années, je n'ai pas besoin de lire le CPU spécifications et définir les options de configuration pour chacun d'entre eux.
InformationsquelleAutor Leo | 2008-10-18