Export (0) Print
Expand All

ProcessThread.ProcessorAffinity Property

Sets the processors on which the associated thread can run.

Namespace: System.Diagnostics
Assembly: System (in system.dll)

public IntPtr ProcessorAffinity { set; }
/** @property */
public void set_ProcessorAffinity (IntPtr value)

public function set ProcessorAffinity (value : IntPtr)

Property Value

An IntPtr that points to a set of bits, each of which represents a processor that the thread can run on.

Exception typeCondition

Win32Exception

The processor affinity could not be set.

PlatformNotSupportedException

The platform is Windows 98 or Windows Millennium Edition.

NotSupportedException

The process is on a remote computer.

The processor affinity of a thread is the set of processors it has a relationship to. In other words, those it can be scheduled to run on.

ProcessorAffinity represents each processor as a bit. Bit 0 represents processor one, bit 1 represents processor two, and so on. The following table shows a subset of the possible ProcessorAffinity for a four-processor system.

Property value (in hexadecimal)

Valid processors

0x0001

1

0x0002

2

0x0003

1 or 2

0x0004

3

0x0005

1 or 3

0x0007

1, 2, or 3

0x000F

1, 2, 3, or 4

You can also specify the single, preferred processor for a thread by setting the IdealProcessor property. A process thread can migrate from processor to processor, with each migration reloading the processor cache. Specifying a processor for a thread can improve performance under heavy system loads by reducing the number of times the processor cache is reloaded.

Windows 2000 SP4, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see System Requirements.

.NET Framework

Supported in: 2.0, 1.1, 1.0

Community Additions

ADD
Show:
© 2014 Microsoft