War diese Seite hilfreich?
Ihr Feedback ist uns wichtig. Teilen Sie uns Ihre Meinung mit.
Weiteres Feedback?
1500 verbleibende Zeichen
Exportieren (0) Drucken
Alle erweitern
Dieser Artikel wurde maschinell übersetzt. Bewegen Sie den Mauszeiger über die Sätze im Artikel, um den Originaltext anzuzeigen. Weitere Informationen
Übersetzung
Original

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

An die Methode wurde ein ungültiger Wert übergeben.

HinweisHinweis

Nur beim Entwickeln für die Xbox 360 ist dieser Member verfügbar. Die aktuellsten Informationen befinden sich in der Dokumentation für XNA Game Studio Express.

Jeder der drei Prozessorkerne der Xbox 360 hat zwei Hardwarethreads. Mit der Hardwarethreadnummer wird ein bestimmter Hardwarethread eines bestimten Kerns ausgewählt. 0 und 1 sind die Hardwarethreads von Kern 0, 2 und 3 sind die Hardwarethreads von Kern 1, und 4 und 5 sind die Hardwarethreads von Kern 2.

Hardwarethreadnummer

Kern

0 oder 1

0

2 oder 3

1

4 oder 5

2

Xbox 360-Softwarethreads sind immer nur jeweils einem Hardwarethread zugewiesen und werden in immer nur jeweils einem Hardwarethread ausgeführt. Der Hardwarethread, in dem ein Thread ausgeführt wird (die Prozessoraffinität des Threads) muss auf genau einen Hardwarethread festgelegt werden, kann aber anschließend durch Aufrufen von SetProcessorAffinity mit einer anderen Hardwarethreadnummer geändert werden. Beim Erstellen eines Threads wird dieser anfangs dem aktuellen Hardwarethread zugewiesen (also dem Hardwarethread, in dem der aktuelle Thread ausgeführt wird).

Bei Xbox 360-Threads kann die Prozessoraffinität des Threads durch Übergeben eines leeren Arrays als cpus-Parameter nicht gelöscht werden. Ein Xbox 360-Thread wird immer einem Hardwarethread zugeordnet.

Bei Spielen, die mit XNA Game Studio Express entwickelt werden, sollten die Hardwarethreads 0 oder 2 nicht verwendet werden, da diese für das XNA Framework reserviert sind. In der folgenden Tabelle ist die Hardwarethreadverwendung für die Xbox 360 aufgeführt.

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

Bestimmen Sie die Anzahl der Hardwarethreads, die von der Hardware unterstützt werden, mithilfe der System.Environment.ProcessorCount-Eigenschaft.

Diese Methode sollte nicht mit Threads verwendet werden, die zum Threadpool gehören, z. B. von der ThreadPool-Klasse oder Timer-Klasse verwendete Threads. Siehe Verwalteter Threadpool.

Community-Beiträge

HINZUFÜGEN
Anzeigen:
© 2015 Microsoft