C'est normalement l'OS qui se charge de répartir la charge sur les différents processeurs ne seraisse que par ce qu'il y aura surement un moment où plusieurs applis seront lancé en même temps.
Par contre, si tu veux que ton application profite au mieux du nombre de processeur alors il faudra au moins assez de thread pour en avoir un qui bosse simultanément sur chaque processeur et qu'il n'y ai pas de sémaphore (des threads qui attendent pour pouvoir utiliser une ressource vérouillé par une autre) ou de nombreuses sérialisation entre les différents threads. (un thread qui attend le résultat d'un autre thread)