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 Ausführungsthread in einem Programm.
[Android.Runtime.Register("java/lang/Thread", DoNotGenerateAcw=true)]
public class Thread : Java.Lang.Object, IDisposable, Java.Interop.IJavaPeerable, 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 Ausführungsthread in einem Programm. Der virtuelle Java-Computer ermöglicht es einer Anwendung, mehrere Ausführungsthreads gleichzeitig auszufü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 auch als Daemon gekennzeichnet sein. Wenn code, der in einem Thread ausgeführt wird, ein neues Thread
Objekt erstellt, hat der neue Thread seine Priorität zunächst gleich der Priorität des erstellenden Threads und ist nur dann ein Daemonthread, wenn der erstellende Thread ein Daemon ist.
Wenn ein virtueller Java-Computer gestartet wird, gibt es in der Regel einen einzelnen Nicht-Daemon-Thread (der in der Regel die Methode namens main
einer bestimmten Klasse aufruft). Der virtuelle Java-Computer führt weiterhin Threads aus, bis einer der folgenden Aktionen auftritt: <ul><li>Die exit
Methode der -Klasse Runtime
wurde aufgerufen, und der Sicherheits-Manager hat die Ausführung des Exitvorgangs zugelassen. <li>Alle Threads, die keine Daemonthreads sind, sind gestorben, indem sie entweder vom Aufruf der run
-Methode zurückgegeben oder eine Ausnahme ausgelöst haben, die über die run
-Methode hinaus weitergegeben wird. </ul>
Es gibt zwei Möglichkeiten, einen neuen Ausführungsthread zu erstellen. Eine besteht darin, eine Klasse als Unterklasse von Thread
zu deklarieren. Diese Unterklasse sollte die run
-Methode der -Klasse Thread
überschreiben. Anschließend kann eine instance der Unterklasse zugeordnet und gestartet werden. Beispielsweise könnte ein Thread, der Primzahlen berechnet, die größer als ein angegebener Wert sind, 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 erstellt dann einen Thread und startet die Ausführung: <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. Ein instance der -Klasse kann dann zugeordnet, als Argument übergeben werden, wenn erstellt Thread
und gestartet wird. 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 erstellt dann einen Thread und startet die Ausführung: <blockquote>
PrimeRun p = new PrimeRun(143);
new Thread(p).start();
</Blockquote>
Jeder Thread verfügt zu Identifizierungszwecken über einen Namen. Mehrere Threads können denselben Namen haben. Wenn beim Erstellen eines Threads kein Name angegeben wird, wird ein neuer Name für ihn generiert.
Sofern nicht anders angegeben, führt die Übergabe eines null
Arguments an einen Konstruktor oder eine Methode in dieser Klasse dazu, dass ein NullPointerException
ausgelöst wird.
In Version 1.0 hinzugefügt.
Java-Dokumentation für java.lang.Thread
.
Teile dieser Seite sind Änderungen, die auf Arbeiten basieren, die vom Android Open Source Project erstellt und freigegeben wurden und gemäß den In Attribution License beschriebenen Begriffen verwendet werden.
Konstruktoren
Thread() |
Ordnet ein neues |
Thread(Action) |
Ein Thread ist ein Ausführungsthread in einem Programm. |
Thread(Action, String) |
Ein Thread ist ein Ausführungsthread in einem Programm. |
Thread(IntPtr, JniHandleOwnership) |
Ein Konstruktor, der beim Erstellen verwalteter Darstellungen von JNI-Objekten verwendet wird; wird von der Runtime aufgerufen. |
Thread(IRunnable) |
Ordnet ein neues |
Thread(IRunnable, String) |
Ordnet ein neues |
Thread(String) |
Ordnet ein neues |
Thread(ThreadGroup, Action) |
Ein Thread ist ein Ausführungsthread in einem Programm. |
Thread(ThreadGroup, Action, String) |
Ein Thread ist ein Ausführungsthread in einem Programm. |
Thread(ThreadGroup, Action, String, Int64) |
Ein Thread ist ein Ausführungsthread in einem Programm. |
Thread(ThreadGroup, IRunnable) |
Ordnet ein neues |
Thread(ThreadGroup, IRunnable, String) |
Ordnet ein neues |
Thread(ThreadGroup, IRunnable, String, Int64) |
Ordnet ein neues |
Thread(ThreadGroup, IRunnable, String, Int64, Boolean) |
Ordnet ein neues |
Thread(ThreadGroup, String) |
Ordnet ein neues |
Felder
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 wird. |
Eigenschaften
AllStackTraces |
Gibt eine Zuordnung von Stapelablaufverfolgungen für alle Livethreads zurück. |
Class |
Gibt die Laufzeitklasse dieses |
ContextClassLoader |
Gibt den Kontext |
Daemon |
Testet, ob es sich bei diesem Thread um einen Daemonthread handelt. oder: Markiert diesen Thread entweder als #isDaemon Daemonthread oder als Benutzerthread. |
DefaultUncaughtExceptionHandler |
Gibt den Standardhandler zurück, der aufgerufen wird, wenn ein Thread aufgrund einer nicht abgeschlossenen Ausnahme abrupt beendet wird. Oder: Legen Sie den Standardhandler fest, der aufgerufen wird, wenn ein Thread aufgrund einer nicht ausgelösten Ausnahme abrupt beendet wird und kein anderer Handler für diesen Thread definiert wurde. |
Handle |
Das Handle für die zugrunde liegende Android-instance. (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. |
JniIdentityHashCode |
Ein Thread ist ein Ausführungsthread in einem Programm. (Geerbt von Object) |
JniPeerMembers |
Ein Thread ist ein Ausführungsthread in einem Programm. |
Name |
Gibt den Namen dieses Threads zurück. Oder: Ändert den Namen dieses Threads so, dass er gleich dem Argument |
PeerReference |
Ein Thread ist ein Ausführungsthread in einem Programm. (Geerbt von Object) |
Priority |
Gibt die Priorität dieses Threads zurück. oder: Ändert die Priorität dieses Threads. |
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 nicht abgeschlossenen Ausnahme abrupt beendet wird. |
Methoden
ActiveCount() |
Gibt eine Schätzung der Anzahl aktiver 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) |
CountStackFrames() |
Veraltet.
Zählt die Anzahl der Stapelrahmen in diesem Thread. |
CurrentThread() |
Gibt einen Verweis auf das derzeit ausgeführte Threadobjekt zurück. |
Destroy() |
Veraltet.
Löst |
Dispose() |
Ein Thread ist ein Ausführungsthread in einem Programm. (Geerbt von Object) |
Dispose(Boolean) |
Ein Thread ist ein Ausführungsthread in einem Programm. (Geerbt von Object) |
DumpStack() |
Gibt eine Stapelablaufverfolgung des aktuellen Threads im Standardfehlerstream aus. |
Enumerate(Thread[]) |
Kopiert jeden aktiven Thread in der Threadgruppe des aktuellen Threads und deren Untergruppen in das angegebene Array. |
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 den Stapelabbild dieses Threads darstellen. |
GetState() |
Gibt den Status dieses Threads zurück. |
HoldsLock(Object) |
Gibt nur zurück |
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 feststellt, dass keine Verweise mehr auf das Objekt vorhanden sind. (Geerbt von Object) |
Join() |
Wartet, bis dieser Thread stirbt. |
Join(Int64) |
Wartet höchstens |
Join(Int64, Int32) |
Wartet höchstens |
Notify() |
Aktiviert einen einzelnen Thread, der auf den Monitor dieses Objekts wartet. (Geerbt von Object) |
NotifyAll() |
Aktiviert alle Threads, die auf den Monitor dieses Objekts warten. (Geerbt von Object) |
OnSpinWait() |
Gibt an, dass der Aufrufer vorübergehend nicht mehr fortgesetzt werden kann, bis eine oder mehrere Aktionen seitens anderer Aktivitäten auftreten. |
Resume() |
Veraltet.
Löst |
Run() |
Wenn dieser Thread mit einem separaten |
SetHandle(IntPtr, JniHandleOwnership) |
Legt die Handle-Eigenschaft fest. (Geerbt von Object) |
Sleep(Int64) |
Bewirkt, dass der aktuell ausgeführte Thread für die angegebene Anzahl von Millisekunden in den Ruhezustand (vorübergehend beendet) wird, abhängig von der Genauigkeit und Genauigkeit von Systemtimern und Schedulern. |
Sleep(Int64, Int32) |
Bewirkt, dass der aktuell ausgeführte Thread für die angegebene Anzahl von Millisekunden plus der angegebenen Anzahl von Nanosekunden in den Ruhezustand versetzt (vorübergehend die Ausführung beendet), abhängig von der Genauigkeit und Genauigkeit von Systemtimern 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 |
ToArray<T>() |
Ein Thread ist ein Ausführungsthread in einem Programm. (Geerbt von Object) |
ToString() |
Gibt eine Zeichenfolgendarstellung des Objekts zurück. (Geerbt von Object) |
UnregisterFromRuntime() |
Ein Thread ist ein Ausführungsthread in einem Programm. (Geerbt von Object) |
Wait() |
Bewirkt, dass der aktuelle Thread wartet, bis er aktiviert ist, in der Regel durch <>Benachrichtigung</em> oder <em>interrupted</em>. (Geerbt von Object) |
Wait(Int64) |
Bewirkt, dass der aktuelle Thread wartet, bis er aktiviert ist, in der Regel durch>< Benachrichtigung</em> oder <em>interrupted</em>, oder bis eine bestimmte Menge an Echtzeit verstrichen ist. (Geerbt von Object) |
Wait(Int64, Int32) |
Bewirkt, dass der aktuelle Thread wartet, bis er aktiviert ist, in der Regel durch>< Benachrichtigung</em> oder <em>interrupted</em>, oder bis eine bestimmte Menge an Echtzeit verstrichen ist. (Geerbt von Object) |
Yield() |
Ein Hinweis an den Planer, dass der aktuelle Thread bereit ist, seine aktuelle Verwendung eines Prozessors zu erzielen. |
Explizite Schnittstellenimplementierungen
IJavaPeerable.Disposed() |
Ein Thread ist ein Ausführungsthread in einem Programm. (Geerbt von Object) |
IJavaPeerable.DisposeUnlessReferenced() |
Ein Thread ist ein Ausführungsthread in einem Programm. (Geerbt von Object) |
IJavaPeerable.Finalized() |
Ein Thread ist ein Ausführungsthread in einem Programm. (Geerbt von Object) |
IJavaPeerable.JniManagedPeerState |
Ein Thread ist ein Ausführungsthread in einem Programm. (Geerbt von Object) |
IJavaPeerable.SetJniIdentityHashCode(Int32) |
Ein Thread ist ein Ausführungsthread in einem Programm. (Geerbt von Object) |
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
Ein Thread ist ein Ausführungsthread in einem Programm. (Geerbt von Object) |
IJavaPeerable.SetPeerReference(JniObjectReference) |
Ein Thread ist ein Ausführungsthread in einem Programm. (Geerbt von Object) |
Erweiterungsmethoden
JavaCast<TResult>(IJavaObject) |
Führt eine Typkonvertierung mit Überprüfung der Android-Laufzeit aus. |
JavaCast<TResult>(IJavaObject) |
Ein Thread ist ein Ausführungsthread in einem Programm. |
GetJniTypeName(IJavaPeerable) |
Ein Thread ist ein Ausführungsthread in einem Programm. |