Rassurez moi en me disant si je comprends bieng... Bit Vector. - Divers - Programmation
Marsh Posté le 13-08-2003 à 05:32:04
je dirais oui (du moins c'est ce que j'en tire des info que tu donnes, mais je connais pas tout ca moi hein, donc a prendre avec des super grosses pincettes )
Marsh Posté le 13-08-2003 à 07:15:45
Ouep, utilise les puissances de 2, ça peut-être que ça et c'est logique puisque ça te permet de dire à un process d'utiliser tels processeurs..
Marsh Posté le 13-08-2003 à 10:20:14
Merci les gars, je pense que mon intuition dégagée de leurs explications tres succintes fut la bonne
Marsh Posté le 12-08-2003 à 18:19:55
Juste pour etre sur de mon coup.
je veux assigner un thread a un CPU particulier.
Donc, j'utilise la fonction SetThreadAffinityMask de l'api crosoft.
Il y a deux paramètres a cette fonction :
-Le handle du thread
-Un bit vector
Alors, si je capte bieng la MSDN ( http://msdn.microsoft.com/library/ [...] stimes.asp )
A thread affinity mask is a bit vector in which each bit represents the processors that a thread is allowed to run on.
Dans le cas d'un Quadri CPU, si je veux que le thread1 tourne sur le premier CPU, je lui file comme mask le nombre 1.
Si je veux que le thread2 tourne sur le CPU2 et uniquement le 2, je lui file 2.
Pour que le thread 3 soit sur le CPU3, je dois lui donner 4 ( 100 en binaire)
Et pour que le thread soit sur le CPU4, je dois lui filer 8 ( 1000 en binaire).
Donc, si je veux assigner X threads a X CPUs différents, je dois leur filer des puissances de 2 différentes.
j'ai bon ?