GetCurrentProcessorNumber |
kernel32.dll | Demande le nombre de processeur courant |
---|---|---|
Windows 2003, Vista, 2008 |
Syntaxe
DWORD GetCurrentProcessorNumber(void); |
Description
Cette fonction permet de demander le nombre de processeur du processus courant lors de l'appel d'une fonction.
Remarques
- Cette fonction d'API n'existe pas sous Microsoft Windows XP, pour contourner le problème, il faudra utilisé l'instruction assembleur CPUID avec la valeur 1 dans le registre EAX.
Exemples
Voici un exemple de la syntaxe de la fonction «GetCurrentProcessorNumber» sous un système d'exploitation Windows Server 2003 à l'aide d'un code source avec un compilateur «Visual Studio .NET 2003» :
- #include "stdafx.h"
- #include <windows.h>
- #include <stdio.h>
- #include <stdlib.h>
-
- int main()
- {
- printf("Nombre de processus courant = %i\n",GetCurrentProcessorNumber());
- return 0;
- }
on obtiendra le résultat ressemblant à celui-ci sous «Windows Server 2003 Enterprise x64»:
Nombre de processus courant = 0Voici un exemple de création de processus léger et de vérification du nombre de processus leur étant associé sous un système d'exploitation Windows Server 2003 à l'aide d'un code source avec un compilateur «Visual Studio .NET 2003» :
- #include "stdafx.h"
- #include <windows.h>
- #include <stdio.h>
- #include <stdlib.h>
- #include <time.h>
-
- DWORD WINAPI ThreadProc(LPVOID Processus) {
- printf("Processus %i, nombre de processus courant = %i\n",(int) Processus,GetCurrentProcessorNumber());
- clock_t t = clock() + 200;
- while (clock() < t);
- return 0;
- }
-
- int main() {
- for(int I = 0; I < 8; I++) CreateThread(NULL, 0, ThreadProc, (LPVOID) I, 0, NULL);
- return 0;
- }
on obtiendra le résultat ressemblant à celui-ci sous «Windows Server 2003 Enterprise x64» avec un AMD Phenom X4 :
Processus 0, nombre de processus courant = 0Processus 0, nombre de processus courant = 0
Processus 1, nombre de processus courant = 3
Processus 2, nombre de processus courant = 1
Processus 3, nombre de processus courant = 0
Processus 4, nombre de processus courant = 1
Processus 4, nombre de processus courant = 1
Processus 5, nombre de processus courant = 0
Processus 4, nombre de processus courant = 1
Processus 5, nombre de processus courant = 0
Processus 6, nombre de processus courant = 3
Dernière mise à jour : Dimanche, le 6 décembre 2015