Bon nombre de programmes ne sont pas multi threading. D'ailleurs, la programmation concurrent n'est pas chose facile. Voir par exemple
ici une partie de mon cours d'algorithmique que j'ai retranscrite.
Quand tu dois calculer des choses indépendantes les unes des autres, tu peux faire plusieurs threads qui feront chacun une partie du travail sur un cœur de CPU différent. Mais quand le calcul
n doit se faire en connaissant le résultat du calcul
n-1, ce n'est pas simple de répartir le travail entre plusieurs unités de calcul.