Thread Klasse

Definition

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

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

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

Thread(Action, String)

Initialisiert eine neue Instanz von Thread.

Thread(Action)

Initialisiert eine neue Instanz von Thread.

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

Thread(IRunnable)

Weist ein neues Thread Objekt zu.

Thread(String)

Weist ein neues Thread Objekt zu.

Thread(ThreadGroup, Action, String, Int64)

Initialisiert eine neue Instanz von Thread.

Thread(ThreadGroup, Action, String)

Initialisiert eine neue Instanz von Thread.

Thread(ThreadGroup, Action)

Initialisiert eine neue Instanz von Thread.

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

Weist ein neues Thread Objekt zu, sodass es target als Ausführungsobjekt verfügt, hat den angegebenen name Namen, gehört zur Threadgruppe, auf groupdie verwiesen wird, hat das angegebene stackSize, und erbt die Anfangswerte für inheritableThreadLocal vererbbare threadlokale Variablen, falls inheritThreadLocals vorhanden true.

Thread(ThreadGroup, IRunnable, String, Int64)

Weist ein neues Thread Objekt zu, sodass es target als Ausführungsobjekt verfügt, den angegebenen name Namen hat und zur Threadgruppe gehört, auf groupdie verwiesen wird, und weist die angegebene Stapelgröße auf.

Thread(ThreadGroup, IRunnable, String)

Weist ein neues Thread Objekt zu, sodass es target als Ausführungsobjekt verfügt, den angegebenen name Namen hat und zur Threadgruppe groupgehört, auf die verwiesen wird.

Thread(ThreadGroup, IRunnable)

Weist ein neues Thread Objekt zu.

Thread(ThreadGroup, String)

Weist ein neues Thread Objekt zu.

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 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 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 true , wenn dieser Thread ein virtueller Thread ist.

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

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

CurrentThread()

Gibt einen Verweis auf das derzeit ausgeführte Threadobjekt zurück.

Destroy()
Veraltet.

Löst UnsupportedOperationException aus.

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 true zurück, 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 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 millis Millisekunden plus nanos Nanosekunden, damit dieser Thread stirbt.

Join(Int64)

Wartet in den meisten millis Millisekunden, bis dieser Thread stirbt.

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

Run()

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

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

Stop()
Veraltet.

Löst UnsupportedOperationException aus.

Stop(Throwable)
Veraltet.

Löst UnsupportedOperationException aus.

Suspend()
Veraltet.

Löst UnsupportedOperationException aus.

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

JavaAs<TResult>(IJavaPeerable)

Versuchen Sie, die Eingabe selfzu TResult erzwingen, und überprüfen Sie, ob die Koersion auf der Java Seite gültig ist.

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 selfzu TResult erzwingen, und überprüfen Sie, ob die Koersion auf der Java Seite gültig ist.

Gilt für: