[Autogenerated] As we've seen the original anti version supported 32
processors and later on 64 processors it was very easy to represent the
existence of a processor by using a bit in the 64-bit world.
But then when 256 processors are supported,
were supported Windows seven,
how that be represented with In the system
increasing the world size is not really,
doesn't really make any sense because that would be kind
of unlimited and doesn't really scale.
So Microsoft decided to add something called the process or group.
A processor group can contain up to 64 processors and the threat
can belong to one processor group at a time only.
So essentially if you have a Windows seven machine or or a higher machine that
has let's say 256 logical processors and you'd like to create threats to use
256 threats to use this entire set of processors,
you'll have to create these 256 threads and then for each 64 threads,
give them different group,
otherwise they'll all be cramped up and trying to use
the processors in the single group.
So you have to do something about it.
And the set thread group affinity function is the one to use to
take a thread into a different process of group.
Normally this is selected automatically by some random
number for each new process being created,
but every threat you create is part of the same group and lets you
explicitly set it to run in a different group.
So today, window supports many groups and again, this thing scales very well.
It's just a matter of how many processes Microsoft can actually get on
the system to test these things to make sure that,
in fact, it works.