Dieser Artikel wurde maschinell übersetzt. Wenn Sie die englische Version des Artikels anzeigen möchten, aktivieren Sie das Kontrollkästchen Englisch. Sie können den englischen Text auch in einem Popupfenster anzeigen, indem Sie den Mauszeiger über den Text bewegen.
Übersetzung
Englisch

Thread.SetProcessorAffinity-Methode

Legt in .NET Compact Framework für Xbox 360 die Prozessoraffinität für einen verwalteten Thread fest. Die Prozessoraffinität bestimmt die Prozessoren, auf denen ein Thread ausgeführt wird.

Namespace:  System.Threading
Assembly:  mscorlib (in mscorlib.dll)

public void SetProcessorAffinity(
	params int[] cpus
)

Parameter

cpus
Typ: System.Int32[]
Ein Array von Bezeichnern, mit denen die Hardwarethreads angegeben werden, auf denen der verwaltete Thread ausgeführt werden darf.
Für Xbox 360 kann nur ein Hardwarethread angegeben werden, und das cpus-Array darf nur ein Element enthalten. Für die Hardwarethreadnummer ist der Bereich von 0 bis 5 zulässig.
Bei Spielen, die mit XNA Game Studio Express entwickelt werden, sollten die Hardwarethreads 0 oder 2 nicht verwendet werden (siehe Hinweise).

AusnahmeBedingung
InvalidOperationException

Ein ungültiger Wert wurde an die Methode übergeben.

HinweisHinweis

Dieses Element steht nur bei der Entwicklung für die Xbox 360. Die aktuellste Informationen finden Sie in der Dokumentation für XNA Game Studio Express.

Jede der drei CPU-Kerne die Xbox 360 hat zwei Hardwarethreads. die Hardware-Thread-Anzahl wird einen bestimmter Hardwarethread eines bestimten Kerns ausgewählt. Hardwarethreads 0 und 1 sind die Hardwarethreads auf Kern 0. 2 und 3 sind die Hardwarethreads auf Kern 1. und 4 und 5 sind die Hardwarethreads auf Core 2.

Hardware-Thread-Anzahl

Kernspeicher

0 oder 1

0

2 oder 3

1

4 oder 5

2

Xbox 360-Softwarethreads zugeordnet sind, und gleichzeitig auf nur einem Hardwarethread ausgeführt. Der Hardwarethread, auf dem ein Thread ausgeführt wird (Prozessoraffinität des Threads) muss auf einem Hardwarethread festgelegt werden, jedoch können später geändert werden, durch den Aufruf SetProcessorAffinity mit einer anderen Hardware Thread-Anzahl. Wenn ein Thread erstellt wird, wird es zunächst zugewiesen dem aktuellen Hardwarethread (d. h. den Hardwarethread, auf dem der aktuelle Thread ausgeführt wird).

Bei Xbox 360-Threads nicht Sie Prozessoraffinität des Threads durch Übergeben eines leeren Arrays als Deaktivieren der cpus Parameter. Xbox 360-Thread wird immer einem Hardwarethread zugeordnet werden.

Spielen mit XNA Game Studio Express sollten die Hardwarethreads 0 oder 2, der für die XNA Framework reserviert sind, nicht verwenden. Die folgende Tabelle zeigt die Threadauslastung für Xbox 360-Hardware.

Hardwarethread

Verfügbar

0

Nein, für XNA Framework reserviert.

1

Ja

2

Nein, für XNA Framework reserviert.

3

Ja

4

Ja

5

Ja

Die Anzahl der Hardwarethreads, die von der Hardware unterstützten ermitteln Sie mithilfe der System.Environment.ProcessorCount Diese Eigenschaft.

Diese Methode sollte nicht verwendet werden, mit der Threads, die an den Threadpool für Beispiel-Threads, die vom verwendeten gehören die ThreadPool oder Timer Klassen. Siehe Verwalteter Threadpool.

Community-Beiträge

Anzeigen: