Thread Klasse

Definition

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
Thread
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 Threadzu 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
                        &nbsp;.&nbsp;.&nbsp;.
                    }
                }

</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 Threadund 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
                        &nbsp;.&nbsp;.&nbsp;.
                    }
                }

</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 -Objekt zu.

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 -Objekt zu.

Thread(IRunnable, String)

Ordnet ein neues Thread -Objekt zu.

Thread(String)

Ordnet ein neues Thread -Objekt zu.

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 -Objekt zu.

Thread(ThreadGroup, IRunnable, String)

Ordnet ein neues Thread -Objekt zu, sodass es target über ein Ausführungsobjekt verfügt, das als Name angegeben name hat und zu der Threadgruppe gehört, auf die von verwiesen wird group.

Thread(ThreadGroup, IRunnable, String, Int64)

Ordnet ein neues Thread -Objekt zu, sodass es target über ein Ausführungsobjekt verfügt, das als Name angegeben name hat und zu der Threadgruppe gehört, auf die von verwiesen wird group, und die angegebene Stapelgröße hat.

Thread(ThreadGroup, IRunnable, String, Int64, Boolean)

Ordnet ein neues Thread -Objekt so zu, dass es target über das ausführungsobjekt verfügt, das als Name angegeben name hat, zu der Threadgruppe gehört, auf die von verwiesen wird group, hat den angegebenen stackSizeund erbt die Anfangswerte für InheritableThreadLocal vererbbare threadlokale Variablen, wenn inheritThreadLocals ist true.

Thread(ThreadGroup, String)

Ordnet ein neues Thread -Objekt zu.

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 Objectzurück.

(Geerbt von Object)
ContextClassLoader

Gibt den Kontext ClassLoader für diesen Thread zurück. Oder: Legt den Kontext ClassLoader für diesen Thread fest.

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 nameist.

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 UnsupportedOperationException aus.

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 true , wenn der aktuelle Thread die Monitorsperre für das angegebene Objekt enthält.

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 millis Millisekunden, bis dieser Thread stirbt.

Join(Int64, Int32)

Wartet höchstens millis Millisekunden plus nanos Nanosekunden, bis dieser Thread stirbt.

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 UnsupportedOperationException aus.

Run()

Wenn dieser Thread mit einem separaten Runnable Ausführungsobjekt erstellt wurde, wird die Runnable Methode dieses run Objekts aufgerufen. Andernfalls führt diese Methode nichts aus und gibt zurück.

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 run -Methode dieses Threads auf.

Stop()
Veraltet.

Löst UnsupportedOperationException aus.

Stop(Throwable)
Veraltet.

Löst UnsupportedOperationException aus.

Suspend()
Veraltet.

Löst UnsupportedOperationException aus.

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.

Gilt für: