J'exécute un programme et le développeur du programme, que je connais personnellement, me dit que le programme est entièrement monofilaire. Cependant, comme vous pouvez le voir dans l'image ci-dessous, le programme utilise en fait tous les cœurs de mon processeur. J'aimerais donc savoir pourquoi c'est le cas. Est-il possible que, selon le programme, Windows puisse exécuter un programme à un seul fil sur plus d'un cœur ? Je sais que cette question peut sembler stupide, mais je n'ai pas trouvé de meilleure façon de la formuler.
Réponse
Trop de publicités?Il n'utilise pas tous les cœurs simultanément, il est simplement arrêté par le système d'exploitation et lorsqu'il est redémarré, il est programmé sur un cœur différent.
Un programme à un seul fil ne peut s'exécuter que sur un seul cœur à la fois, mais dans le cadre d'un système d'exploitation multitâche, des centaines de programmes et de tâches sont constamment arrêtés et démarrés et, pour l'utilisateur, le cœur utilisé pour tel ou tel programme semble essentiellement aléatoire.
Votre programme peut fonctionner sur n'importe quel cœur disponible, mais il ne peut pas fonctionner sur plusieurs cœurs. en même temps .
Ces graphiques ne sont pas assez précis pour montrer les tranches de temps individuelles des CPU.
Si le développeur vous assure qu'il s'agit d'un programme monofilaire, il y a autre chose qui se passe. Soit il utilise une bibliothèque ou un chargeur qui est multithread, ou quelque chose d'autre utilise votre système en même temps.