Thread Klasse
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Ein Thread ist ein Thread der Ausführung in einem Programm.
[Android.Runtime.Register("java/lang/Thread", DoNotGenerateAcw=true)]
public class Thread : Java.Lang.Object, IDisposable, Java.Lang.IRunnable
[<Android.Runtime.Register("java/lang/Thread", DoNotGenerateAcw=true)>]
type Thread = class
inherit Object
interface IRunnable
interface IJavaObject
interface IDisposable
interface IJavaPeerable
- Vererbung
- Abgeleitet
- Attribute
- Implementiert
Hinweise
Ein Thread ist ein Thread der Ausführung in einem Programm. Mit dem Java virtuellen Computer kann eine Anwendung mehrere Ausführungsthreads gleichzeitig ausführen.
Jeder Thread hat eine Priorität. Threads mit höherer Priorität werden vor Threads mit niedrigerer Priorität ausgeführt. Jeder Thread kann oder ist auch als Daemon gekennzeichnet. Wenn code, der in einem Thread ausgeführt wird, ein neues Thread Objekt erstellt, hat der neue Thread zunächst die Priorität des Erstellungsthreads und ist nur dann ein Daemonthread, wenn der Erstellungsthread ein Daemon ist.
Wenn ein Java virtueller Computer gestartet wird, gibt es in der Regel einen einzelnen Nicht-Daemon-Thread (der normalerweise die Methode namens main einer bestimmten Klasse aufruft). Der virtuelle computer Java führt weiterhin Threads aus, bis eine der folgenden Aktionen auftritt: <ul><li>Die exit Methode der Klasse Runtime wurde aufgerufen, und der Sicherheits-Manager hat die Ausführung des Beendigungsvorgangs zugelassen.
<li>Alle Threads, die keine Daemon-Threads sind, sind verstorben, entweder durch Zurückgeben vom Aufruf an die run Methode oder durch Auslösen einer Ausnahme, die über die run Methode hinaus verteilt wird.
</ul>
Es gibt zwei Möglichkeiten zum Erstellen eines neuen Ausführungsthreads. Eine ist das Deklarieren einer Klasse als Unterklasse von Thread. Diese Unterklasse sollte die run Methode der Klasse Threadüberschreiben. Eine Instanz der Unterklasse kann dann zugewiesen und gestartet werden. Beispielsweise könnte ein Thread, der primes größer als ein angegebener Wert berechnet, wie folgt geschrieben werden: <hr><blockquote>
class PrimeThread extends Thread {
long minPrime;
PrimeThread(long minPrime) {
this.minPrime = minPrime;
}
public void run() {
// compute primes larger than minPrime
. . .
}
}
</blockquote><hr>
Der folgende Code würde dann einen Thread erstellen und mit der Ausführung beginnen: <blockquote>
PrimeThread p = new PrimeThread(143);
p.start();
</blockquote>
Die andere Möglichkeit zum Erstellen eines Threads besteht darin, eine Klasse zu deklarieren, die die Runnable Schnittstelle implementiert. Diese Klasse implementiert dann die run Methode. Eine Instanz der Klasse kann dann zugewiesen, beim Erstellen Threadals Argument übergeben und gestartet werden. Das gleiche Beispiel in dieser anderen Formatvorlage sieht wie folgt aus: <hr><blockquote>
class PrimeRun implements Runnable {
long minPrime;
PrimeRun(long minPrime) {
this.minPrime = minPrime;
}
public void run() {
// compute primes larger than minPrime
. . .
}
}
</blockquote><hr>
Der folgende Code würde dann einen Thread erstellen und mit der Ausführung beginnen: <blockquote>
PrimeRun p = new PrimeRun(143);
new Thread(p).start();
</blockquote>
Jeder Thread hat einen Namen für Identifikationszwecke. Mehrere Threads haben möglicherweise denselben Namen. Wenn beim Erstellen eines Threads kein Name angegeben wird, wird dafür ein neuer Name generiert.
Sofern nicht anders angegeben, wird das Übergeben eines null Arguments an einen Konstruktor oder eine Methode in dieser Klasse dazu führen, dass ein NullPointerException Fehler ausgelöst wird.
In 1.0 hinzugefügt.
Java Dokumentation für java.lang.Thread.
Teile dieser Seite sind Änderungen auf der Grundlage von Arbeiten, die von der Android Open Source Project erstellt und gemeinsam verwendet und gemäß den in der 2.5 Attribution License beschriebenen Begriffen verwendet werden.
Konstruktoren
| Name | Beschreibung |
|---|---|
| Thread() |
Weist ein neues |
| Thread(Action, String) |
Initialisiert eine neue Instanz von |
| Thread(Action) |
Initialisiert eine neue Instanz von |
| Thread(IntPtr, JniHandleOwnership) |
Ein Konstruktor, der beim Erstellen verwalteter Darstellungen von JNI-Objekten verwendet wird; wird von der Laufzeit aufgerufen. |
| Thread(IRunnable, String) |
Weist ein neues |
| Thread(IRunnable) |
Weist ein neues |
| Thread(String) |
Weist ein neues |
| Thread(ThreadGroup, Action, String, Int64) |
Initialisiert eine neue Instanz von |
| Thread(ThreadGroup, Action, String) |
Initialisiert eine neue Instanz von |
| Thread(ThreadGroup, Action) |
Initialisiert eine neue Instanz von |
| Thread(ThreadGroup, IRunnable, String, Int64, Boolean) |
Weist ein neues |
| Thread(ThreadGroup, IRunnable, String, Int64) |
Weist ein neues |
| Thread(ThreadGroup, IRunnable, String) |
Weist ein neues |
| Thread(ThreadGroup, IRunnable) |
Weist ein neues |
| Thread(ThreadGroup, String) |
Weist ein neues |
Felder
| Name | Beschreibung |
|---|---|
| MaxPriority |
Die maximale Priorität, die ein Thread haben kann. |
| MinPriority |
Die Mindestpriorität, die ein Thread haben kann. |
| NormPriority |
Die Standardpriorität, die einem Thread zugewiesen ist. |
Eigenschaften
| Name | Beschreibung |
|---|---|
| AllStackTraces |
Gibt eine Zuordnung von Stapelablaufverfolgungen für alle Livethreads zurück. |
| Class |
Gibt die Laufzeitklasse dieses Werts |
| ContextClassLoader |
Gibt den Kontext |
| Daemon |
Testet, ob dieser Thread ein Daemonthread ist. |
| DefaultUncaughtExceptionHandler |
Gibt den Standardhandler zurück, der aufgerufen wird, wenn ein Thread aufgrund einer unauffälligen Ausnahme abrupt beendet wird. -oder- Legen Sie den Standardhandler fest, der aufgerufen wird, wenn ein Thread aufgrund einer unaufgelösten Ausnahme abrupt beendet wird, und für diesen Thread wurde kein anderer Handler definiert. |
| Handle |
Das Handle für die zugrunde liegende Android-Instanz. (Geerbt von Object) |
| Id |
Gibt den Bezeichner dieses Threads zurück. |
| IsAlive |
Testet, ob dieser Thread aktiv ist. |
| IsInterrupted |
Testet, ob dieser Thread unterbrochen wurde. |
| IsVirtual |
Gibt zurück |
| JniIdentityHashCode |
Ruft den Identitätshashcode ab, der diesem Java Peer von der Interop-Laufzeit zugewiesen ist. (Geerbt von Object) |
| JniManagedPeerState |
Ein Thread ist ein Thread der Ausführung in einem Programm. (Geerbt von JavaObject) |
| JniPeerMembers |
Ruft die JNI-Metadaten ab, die zum Aufrufen von Mitgliedern dieses Java Peers verwendet werden. |
| Name |
Gibt den Namen dieses Threads zurück. -or- Ändert den Namen dieses Threads so, dass er dem Argument |
| PeerReference |
Ruft den JNI-Objektverweis für diesen Java Peer ab. (Geerbt von Object) |
| Priority |
Gibt die Priorität dieses Threads zurück. |
| ThreadGroup |
Gibt die Threadgruppe zurück, zu der dieser Thread gehört. |
| ThresholdClass |
Diese API unterstützt die Mono für Android-Infrastruktur und ist nicht für die direkte Verwendung aus Ihrem Code vorgesehen. |
| ThresholdType |
Diese API unterstützt die Mono für Android-Infrastruktur und ist nicht für die direkte Verwendung aus Ihrem Code vorgesehen. |
| UncaughtExceptionHandler |
Gibt den Handler zurück, der aufgerufen wird, wenn dieser Thread aufgrund einer nicht abgeschlossenen Ausnahme abrupt beendet wird. -oder- Legen Sie den Handler fest, der aufgerufen wird, wenn dieser Thread aufgrund einer unaufgelösten Ausnahme abrupt beendet wird. |
Methoden
| Name | Beschreibung |
|---|---|
| ActiveCount() |
Gibt eine Schätzung der Anzahl der aktiven Threads im Java des aktuellen Threads zurück. |
| CheckAccess() |
Bestimmt, ob der derzeit ausgeführte Thread über die Berechtigung zum Ändern dieses Threads verfügt. |
| Clone() |
Erstellt und gibt eine Kopie dieses Objekts zurück. (Geerbt von Object) |
| Construct(JniObjectReference, JniObjectReferenceOptions) |
Ein Thread ist ein Thread der Ausführung in einem Programm. (Geerbt von JavaObject) |
| CountStackFrames() |
Veraltet.
Löst |
| CurrentThread() |
Gibt einen Verweis auf das derzeit ausgeführte Threadobjekt zurück. |
| Destroy() |
Veraltet.
Löst |
| Dispose() |
Veröffentlicht die Ressourcen, die von diesem Java Peer gehalten werden. (Geerbt von Object) |
| Dispose(Boolean) |
Veröffentlicht die Ressourcen, die von diesem Java Peer gehalten werden. (Geerbt von Object) |
| DisposeUnlessReferenced() |
Ein Thread ist ein Thread der Ausführung in einem Programm. (Geerbt von JavaObject) |
| DumpStack() |
Druckt eine Stapelablaufverfolgung des aktuellen Threads in den Standardfehlerdatenstrom. |
| Enumerate(Thread[]) |
Kopiert jeden aktiven Thread in der Threadgruppe des aktuellen Threads und deren Untergruppen in das angegebene Array. |
| Equals(Object) |
Ein Thread ist ein Thread der Ausführung in einem Programm. (Geerbt von JavaObject) |
| Equals(Object) |
Gibt an, ob ein anderes Objekt "gleich" diesem Objekt ist. (Geerbt von Object) |
| GetHashCode() |
Gibt einen Hashcodewert für das Objekt zurück. (Geerbt von Object) |
| GetStackTrace() |
Gibt ein Array von Stapelablaufverfolgungselementen zurück, die das Stapelabbild dieses Threads darstellen. |
| GetState() |
Gibt den Status dieses Threads zurück. |
| HoldsLock(Object) |
Gibt nur |
| Interrupt() |
Unterbricht diesen Thread. |
| Interrupted() |
Testet, ob der aktuelle Thread unterbrochen wurde. |
| JavaFinalize() |
Wird vom Garbage Collector für ein Objekt aufgerufen, wenn die Garbage Collection bestimmt, dass keine weiteren Verweise auf das Objekt vorhanden sind. (Geerbt von Object) |
| Join() |
Wartet darauf, dass dieser Thread stirbt. |
| Join(Int64, Int32) |
Wartet auf die meisten |
| Join(Int64) |
Wartet in den meisten |
| Notify() |
Aktiviert einen einzelnen Thread, der auf dem Monitor dieses Objekts wartet. (Geerbt von Object) |
| NotifyAll() |
Aktiviert alle Threads, die auf dem Monitor dieses Objekts warten. (Geerbt von Object) |
| OnSpinWait() |
Gibt an, dass der Aufrufer momentan nicht weiterkommen kann, bis zum Auftreten einer oder mehrerer Aktionen im Rahmen anderer Aktivitäten. |
| Resume() |
Veraltet.
Löst |
| Run() |
Wenn dieser Thread mithilfe eines separaten |
| SetHandle(IntPtr, JniHandleOwnership) |
Legt die Handle-Eigenschaft fest. (Geerbt von Object) |
| SetPeerReference(JniObjectReference, JniObjectReferenceOptions) |
Ein Thread ist ein Thread der Ausführung in einem Programm. (Geerbt von JavaObject) |
| Sleep(Int64, Int32) |
Bewirkt, dass der derzeit ausgeführte Thread für die angegebene Anzahl von Millisekunden und die angegebene Anzahl von Nanosekunden in den Ruhezustand versetzt wird, unterliegt der Genauigkeit und Genauigkeit von Systemzeitgebern und -schedulern. |
| Sleep(Int64) |
Bewirkt, dass der derzeit ausgeführte Thread für die angegebene Anzahl von Millisekunden in den Ruhezustand versetzt wird (vorübergehend die Ausführung beenden), unterliegt der Genauigkeit und Genauigkeit von Systemzeitgebern und -schedulern. |
| Start() |
Bewirkt, dass dieser Thread mit der Ausführung beginnt; Der virtuelle Java-Computer ruft die |
| Stop() |
Veraltet.
Löst |
| Stop(Throwable) |
Veraltet.
Löst |
| Suspend() |
Veraltet.
Löst |
| ThreadId() |
Gibt den Bezeichner dieses Threads zurück. |
| ToArray<T>() |
Erstellt ein verwaltetes Array aus diesem Java Arraywrapper. (Geerbt von Object) |
| ToString() |
Gibt eine Zeichenfolgendarstellung des Objekts zurück. (Geerbt von Object) |
| UnregisterFromRuntime() |
Hebt die Registrierung dieses Java Peers aus der Interop-Laufzeit auf. (Geerbt von Object) |
| Wait() |
Bewirkt, dass der aktuelle Thread wartet, bis er wach ist, in der Regel durch em benachrichtigt/em< oder >em<unterbrochen>/em<.><> (Geerbt von Object) |
| Wait(Int64, Int32) |
Bewirkt, dass der aktuelle Thread wartet, bis er wach ist, in der Regel durch <em>benachrichtigt</em> oder <em>unterbrochen</em> oder bis eine bestimmte Menge an Echtzeit verstrichen ist. (Geerbt von Object) |
| Wait(Int64) |
Bewirkt, dass der aktuelle Thread wartet, bis er wach ist, in der Regel durch <em>benachrichtigt</em> oder <em>unterbrochen</em> oder bis eine bestimmte Menge an Echtzeit verstrichen ist. (Geerbt von Object) |
| Yield() |
Ein Hinweis auf den Scheduler, dass der aktuelle Thread bereit ist, seine aktuelle Verwendung eines Prozessors zu erzielen. |
Explizite Schnittstellenimplementierungen
| Name | Beschreibung |
|---|---|
| IJavaPeerable.Disposed() |
Ein Thread ist ein Thread der Ausführung in einem Programm. (Geerbt von JavaObject) |
| IJavaPeerable.Finalized() |
Ein Thread ist ein Thread der Ausführung in einem Programm. (Geerbt von JavaObject) |
| IJavaPeerable.JniObjectReferenceControlBlock |
Ein Thread ist ein Thread der Ausführung in einem Programm. (Geerbt von JavaObject) |
| IJavaPeerable.SetJniIdentityHashCode(Int32) |
Ein Thread ist ein Thread der Ausführung in einem Programm. (Geerbt von JavaObject) |
| IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
Ein Thread ist ein Thread der Ausführung in einem Programm. (Geerbt von JavaObject) |
| IJavaPeerable.SetPeerReference(JniObjectReference) |
Ein Thread ist ein Thread der Ausführung in einem Programm. (Geerbt von JavaObject) |
| IJavaPeerable.UnregisterFromRuntime() |
Ein Thread ist ein Thread der Ausführung in einem Programm. |
Erweiterungsmethoden
| Name | Beschreibung |
|---|---|
| GetJniTypeName(IJavaPeerable) |
Ruft den JNI-Namen des Typs der Instanz |
| JavaAs<TResult>(IJavaPeerable) |
Versuchen Sie, die Eingabe |
| JavaCast<TResult>(IJavaObject) |
Führt eine android-laufzeitgecheckte Typkonvertierung aus. |
| JavaCast<TResult>(IJavaObject) |
Ein Thread ist ein Thread der Ausführung in einem Programm. |
| TryJavaCast<TResult>(IJavaPeerable, TResult) |
Versuchen Sie, die Eingabe |