Thread Classe

Definizione

Un thread è un thread di esecuzione in un programma.

[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
Ereditarietà
Thread
Derivato
Attributi
Implementazioni

Commenti

Un thread è un thread di esecuzione in un programma. La macchina virtuale Java consente a un'applicazione di avere più thread di esecuzione in esecuzione simultaneamente.

Ogni thread ha una priorità. I thread con priorità più alta vengono eseguiti in preferenza ai thread con priorità più bassa. Ogni thread può o non essere contrassegnato come daemon. Quando il codice in esecuzione in un thread crea un nuovo Thread oggetto, la priorità del nuovo thread è inizialmente impostata su uguale alla priorità del thread di creazione ed è un thread daemon se e solo se il thread di creazione è un daemon.

All'avvio di una macchina virtuale Java, in genere è presente un singolo thread non daemon , che in genere chiama il metodo denominato main di una classe designata. La macchina virtuale Java continua a eseguire thread fino a quando non si verifica una delle operazioni seguenti: <ul><li>Il exit metodo della classe Runtime è stato chiamato e il gestore della sicurezza ha consentito l'esecuzione dell'operazione di uscita. <li>Tutti i thread che non sono thread daemon sono morti, restituendo dalla chiamata al run metodo o generando un'eccezione che si propaga oltre il run metodo . </ul>

Esistono due modi per creare un nuovo thread di esecuzione. Uno consiste nel dichiarare una classe come sottoclasse di Thread. Questa sottoclasse deve eseguire l'override del run metodo della classe Thread. Un'istanza della sottoclasse può quindi essere allocata e avviata. Ad esempio, un thread che calcola primi maggiori di un valore dichiarato può essere scritto come segue: <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>

Il codice seguente crea quindi un thread e avvia l'esecuzione: <blockquote>

PrimeThread p = new PrimeThread(143);
                p.start();

</Blockquote>

L'altro modo per creare un thread consiste nel dichiarare una classe che implementa l'interfaccia Runnable . Tale classe implementa quindi il run metodo . Un'istanza della classe può quindi essere allocata, passata come argomento durante la creazione Threaddi e l'avvio. Lo stesso esempio in questo altro stile è simile al seguente: <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>

Il codice seguente crea quindi un thread e avvia l'esecuzione: <blockquote>

PrimeRun p = new PrimeRun(143);
                new Thread(p).start();

</Blockquote>

Ogni thread ha un nome a scopo di identificazione. Più thread possono avere lo stesso nome. Se non viene specificato un nome quando viene creato un thread, viene generato un nuovo nome.

Se non diversamente specificato, il passaggio di un null argomento a un costruttore o a un metodo in questa classe genererà un'eccezione NullPointerException .

Aggiunta nella versione 1.0.

Documentazione java per java.lang.Thread.

Le parti di questa pagina sono modifiche basate sul lavoro creato e condiviso dal Android e usato in base ai termini descritti in 2.5 Attribution License Creative Commons 2.5 Attribution License.

Costruttori

Thread()

Alloca un nuovo Thread oggetto.

Thread(Action)

Un thread è un thread di esecuzione in un programma.

Thread(Action, String)

Un thread è un thread di esecuzione in un programma.

Thread(IntPtr, JniHandleOwnership)

Costruttore utilizzato durante la creazione di rappresentazioni gestite di oggetti JNI; chiamato dal runtime.

Thread(IRunnable)

Alloca un nuovo Thread oggetto.

Thread(IRunnable, String)

Alloca un nuovo Thread oggetto.

Thread(String)

Alloca un nuovo Thread oggetto.

Thread(ThreadGroup, Action)

Un thread è un thread di esecuzione in un programma.

Thread(ThreadGroup, Action, String)

Un thread è un thread di esecuzione in un programma.

Thread(ThreadGroup, Action, String, Int64)

Un thread è un thread di esecuzione in un programma.

Thread(ThreadGroup, IRunnable)

Alloca un nuovo Thread oggetto.

Thread(ThreadGroup, IRunnable, String)

Alloca un nuovo Thread oggetto in modo che abbia target come oggetto run l'oggetto specificato name come nome e appartenga al gruppo di thread a groupcui fa riferimento .

Thread(ThreadGroup, IRunnable, String, Int64)

Alloca un nuovo Thread oggetto in modo che abbia target come oggetto run l'oggetto specificato name come nome e appartenga al gruppo di thread a groupcui fa riferimento e abbia le dimensioni dello stack specificate.

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

Alloca un nuovo Thread oggetto in modo che target abbia come oggetto run l'oggetto specificato name come nome, appartenga al gruppo di thread a groupcui fa riferimento , ha l'oggetto specificato stackSizee eredita i valori iniziali per le variabili ereditabili thread-local ereditabili InheritableThreadLocal se inheritThreadLocals è true.

Thread(ThreadGroup, String)

Alloca un nuovo Thread oggetto.

Campi

MaxPriority

Priorità massima che un thread può avere.

MinPriority

Priorità minima che un thread può avere.

NormPriority

Priorità predefinita assegnata a un thread.

Proprietà

AllStackTraces

Restituisce una mappa di analisi dello stack per tutti i thread in tempo reale.

Class

Restituisce la classe di runtime di questo Objectoggetto .

(Ereditato da Object)
ContextClassLoader

Restituisce il contesto ClassLoader per questo thread. -oppure- Imposta il classLoader di contesto per questo thread.

Daemon

Verifica se questo thread è un thread daemon. -oppure- Contrassegna questo thread come thread daemon #isDaemon o come thread utente.

DefaultUncaughtExceptionHandler

Restituisce il gestore predefinito richiamato quando un thread termina bruscamente a causa di un'eccezione non rilevata. -oppure- Impostare il gestore predefinito richiamato quando un thread termina bruscamente a causa di un'eccezione non rilevata e non è stato definito alcun altro gestore per tale thread.

Handle

Handle per l'istanza di Android sottostante.

(Ereditato da Object)
Id

Restituisce l'identificatore di questo thread.

IsAlive

Verifica se il thread è attivo.

IsInterrupted

Verifica se il thread è stato interrotto.

JniIdentityHashCode

Un thread è un thread di esecuzione in un programma.

(Ereditato da Object)
JniPeerMembers

Un thread è un thread di esecuzione in un programma.

Name

Restituisce il nome del thread. -oppure- Modifica il nome di questo thread in modo che sia uguale all'argomento name.

PeerReference

Un thread è un thread di esecuzione in un programma.

(Ereditato da Object)
Priority

Restituisce la priorità di questo thread. -oppure- Modifica la priorità di questo thread.

ThreadGroup

Restituisce il gruppo di thread a cui appartiene questo thread.

ThresholdClass

Questa API supporta l'infrastruttura Mono per Android e non deve essere usata direttamente dal codice.

ThresholdType

Questa API supporta l'infrastruttura Mono per Android e non deve essere usata direttamente dal codice.

UncaughtExceptionHandler

Restituisce il gestore richiamato quando questo thread termina bruscamente a causa di un'eccezione non rilevata. -oppure- Impostare il gestore richiamato quando il thread termina bruscamente a causa di un'eccezione non rilevata.

Metodi

ActiveCount()

Restituisce una stima del numero di thread attivi nel file Java del thread corrente.

CheckAccess()

Determina se il thread attualmente in esecuzione dispone dell'autorizzazione per modificare questo thread.

Clone()

Crea e restituisce una copia di questo oggetto.

(Ereditato da Object)
CountStackFrames()
Obsoleti.

Conta il numero di stack frame in questo thread.

CurrentThread()

Restituisce un riferimento all'oggetto thread attualmente in esecuzione.

Destroy()
Obsoleti.

Genera l'eccezione UnsupportedOperationException.

Dispose()

Un thread è un thread di esecuzione in un programma.

(Ereditato da Object)
Dispose(Boolean)

Un thread è un thread di esecuzione in un programma.

(Ereditato da Object)
DumpStack()

Stampa una traccia dello stack del thread corrente nel flusso di errore standard.

Enumerate(Thread[])

Copia nella matrice specificata ogni thread attivo nel gruppo di thread del thread corrente e nei relativi sottogruppi.

Equals(Object)

Indica se un altro oggetto è "uguale a" questo.

(Ereditato da Object)
GetHashCode()

Restituisce un valore del codice hash per l'oggetto.

(Ereditato da Object)
GetStackTrace()

Restituisce una matrice di elementi di analisi dello stack che rappresentano il dump dello stack di questo thread.

GetState()

Restituisce lo stato di questo thread.

HoldsLock(Object)

Restituisce true se e solo se il thread corrente contiene il blocco di monitoraggio sull'oggetto specificato.

Interrupt()

Interrompe questo thread.

Interrupted()

Verifica se il thread corrente è stato interrotto.

JavaFinalize()

Chiamato dal Garbage Collector su un oggetto quando Garbage Collection determina che non sono presenti altri riferimenti all'oggetto .

(Ereditato da Object)
Join()

Attende che il thread venga morto.

Join(Int64)

Attende al massimo millis millisecondi che il thread venga morto.

Join(Int64, Int32)

Attende al massimo millis millisecondi più nanos nanosecondi perché il thread muora.

Notify()

Riattiva un singolo thread in attesa del monitor dell'oggetto.

(Ereditato da Object)
NotifyAll()

Riattiva tutti i thread in attesa del monitoraggio di questo oggetto.

(Ereditato da Object)
OnSpinWait()

Indica che il chiamante non è momentaneamente in grado di progredire, fino all'occorrenza di una o più azioni da parte di altre attività.

Resume()
Obsoleti.

Genera l'eccezione UnsupportedOperationException.

Run()

Se questo thread è stato costruito utilizzando un oggetto run separato Runnable , Runnable viene chiamato il metodo dell'oggetto run ; in caso contrario, questo metodo non esegue alcuna operazione e restituisce.

SetHandle(IntPtr, JniHandleOwnership)

Imposta la proprietà Handle.

(Ereditato da Object)
Sleep(Int64)

Fa sì che il thread attualmente in esecuzione sospendi (temporaneamente interrompa l'esecuzione) per il numero specificato di millisecondi, soggetto alla precisione e all'accuratezza dei timer di sistema e delle utilità di pianificazione.

Sleep(Int64, Int32)

Fa sì che il thread attualmente in esecuzione sospendi (temporaneamente interrompa l'esecuzione) per il numero specificato di millisecondi più il numero specificato di nanosecondi, soggetto alla precisione e all'accuratezza dei timer di sistema e delle utilità di pianificazione.

Start()

Fa sì che questo thread inizi l'esecuzione; La macchina virtuale Java chiama il run metodo di questo thread.

Stop()
Obsoleti.

Genera l'eccezione UnsupportedOperationException.

Stop(Throwable)
Obsoleti.

Genera l'eccezione UnsupportedOperationException.

Suspend()
Obsoleti.

Genera l'eccezione UnsupportedOperationException.

ToArray<T>()

Un thread è un thread di esecuzione in un programma.

(Ereditato da Object)
ToString()

Restituisce una rappresentazione in formato stringa dell'oggetto.

(Ereditato da Object)
UnregisterFromRuntime()

Un thread è un thread di esecuzione in un programma.

(Ereditato da Object)
Wait()

Fa sì che il thread corrente attenda finché non viene risvegliato, in genere eseguendo <una>notifica</em> o <em>interrotto</em>.

(Ereditato da Object)
Wait(Int64)

Fa sì che il thread corrente attenda finché non viene risvegliato, in genere eseguendo <una notifica</>em> o <em>interrotto</em> o fino a quando non è trascorsa una certa quantità di tempo reale.

(Ereditato da Object)
Wait(Int64, Int32)

Fa sì che il thread corrente attenda finché non viene risvegliato, in genere eseguendo <una notifica</>em> o <em>interrotto</em> o fino a quando non è trascorsa una certa quantità di tempo reale.

(Ereditato da Object)
Yield()

Suggerimento all'utilità di pianificazione che il thread corrente è disposto a produrre l'uso corrente di un processore.

Implementazioni dell'interfaccia esplicita

IJavaPeerable.Disposed()

Un thread è un thread di esecuzione in un programma.

(Ereditato da Object)
IJavaPeerable.DisposeUnlessReferenced()

Un thread è un thread di esecuzione in un programma.

(Ereditato da Object)
IJavaPeerable.Finalized()

Un thread è un thread di esecuzione in un programma.

(Ereditato da Object)
IJavaPeerable.JniManagedPeerState

Un thread è un thread di esecuzione in un programma.

(Ereditato da Object)
IJavaPeerable.SetJniIdentityHashCode(Int32)

Un thread è un thread di esecuzione in un programma.

(Ereditato da Object)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

Un thread è un thread di esecuzione in un programma.

(Ereditato da Object)
IJavaPeerable.SetPeerReference(JniObjectReference)

Un thread è un thread di esecuzione in un programma.

(Ereditato da Object)

Metodi di estensione

JavaCast<TResult>(IJavaObject)

Esegue una conversione del tipo verificato dal runtime Android.

JavaCast<TResult>(IJavaObject)

Un thread è un thread di esecuzione in un programma.

GetJniTypeName(IJavaPeerable)

Un thread è un thread di esecuzione in un programma.

Si applica a