Process.ProcessorAffinity Tulajdonság

Definíció

Lekéri vagy beállítja azokat a processzorokat, amelyeken a folyamat szálai ütemezhetők.

public:
 property IntPtr ProcessorAffinity { IntPtr get(); void set(IntPtr value); };
[System.Runtime.Versioning.SupportedOSPlatform("windows")]
[System.Runtime.Versioning.SupportedOSPlatform("linux")]
public IntPtr ProcessorAffinity { get; set; }
public IntPtr ProcessorAffinity { get; set; }
[<System.Runtime.Versioning.SupportedOSPlatform("windows")>]
[<System.Runtime.Versioning.SupportedOSPlatform("linux")>]
member this.ProcessorAffinity : nativeint with get, set
member this.ProcessorAffinity : nativeint with get, set
Public Property ProcessorAffinity As IntPtr

Tulajdonság értéke

IntPtr

nativeint

Egy bitmaszk, amely azokat a processzorokat jelöli, amelyeken a társított folyamat szálai futtathatók. Az alapértelmezett beállítás a számítógép processzorainak számától függ. Az alapértelmezett érték 2 n -1, ahol n a processzorok száma.

Attribútumok

Kivételek

ProcessorAffinity nem állíthatók be és nem kérhetők le a kapcsolódó folyamaterőforrásból.

-vagy-

A folyamatazonosító vagy a folyamatleíró értéke nulla. (A folyamat nem indult el.)

Egy távoli számítógépen futó folyamat tulajdonságához próbál hozzáférni ProcessorAffinity . Ez a tulajdonság csak a helyi számítógépen futó folyamatokhoz érhető el.

A folyamat Id nem volt elérhető.

-vagy-

A folyamat kilépett.

Megjegyzések

A tulajdonság által visszaadott érték a folyamat legutóbb frissített affinitását jelöli. A legfrissebb affinitás eléréséhez először meg kell hívnia Refresh() a metódust.

A 2000-Windows és újabb verziókban a folyamat szálai processzorról processzorra migrálhatók, és minden áttelepítés újra betölti a processzorgyorsítótárat. Nagy rendszerterhelések esetén a processzorgyorsítótár újratöltésének hányszoros csökkentésével javíthatja a teljesítményt, ha megadja, hogy melyik processzornak kell futtatnia egy adott szálat. A processzor és a szál közötti társítást processzor-affinitásnak nevezzük.

Minden processzor egy kicsit jelenik meg. A 0. bit egy processzor, az 1. bit a második processzor, és így tovább. Ha egy kicsit az 1 értéket állítja be, a megfelelő processzor lesz kiválasztva a szál-hozzárendeléshez. Amikor nullára állítja az ProcessorAffinity értéket, az operációs rendszer ütemezési algoritmusai beállítják a szál affinitását. Ha az ProcessorAffinity érték bármilyen nemzero értékre van állítva, az érték bitmaszkként lesz értelmezve, amely meghatározza a választásra jogosult processzorokat.

Az alábbi táblázat egy nyolc processzoros rendszer értékeinek kiválasztását ProcessorAffinity mutatja be.

Bitmaszk Bináris érték Jogosult processzorok
0x0001 00000000 00000001 1
0x0003 00000000 00000011 1 és 2
0x0007 00000000 00000111 1, 2 és 3
0x0009 00000000 00001001 1 és 4
0x007F 00000000 01111111 1, 2, 3, 4, 5, 6 és 7

A következőre érvényes: