Timer Classe
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Una funzionalità per i thread per pianificare le attività per l'esecuzione futura in un thread in background.
[Android.Runtime.Register("java/util/Timer", DoNotGenerateAcw=true)]
public class Timer : Java.Lang.Object
[<Android.Runtime.Register("java/util/Timer", DoNotGenerateAcw=true)>]
type Timer = class
inherit Object
- Ereditarietà
- Attributi
Commenti
Una funzionalità per i thread per pianificare le attività per l'esecuzione futura in un thread in background. Le attività possono essere pianificate per l'esecuzione una tantum o per l'esecuzione ripetuta a intervalli regolari.
Corrispondente a ogni Timer oggetto è un singolo thread in background usato per eseguire tutte le attività del timer, in sequenza. Le attività timer devono essere completate rapidamente. Se per il completamento di un'attività timer è necessario un tempo eccessivo, il thread di esecuzione dell'attività del timer è "hogs". Ciò può, a sua volta, ritardare l'esecuzione delle attività successive, che possono "raggruppare" ed eseguire in rapida successione quando (e se) l'attività che causa l'errore viene infine completato.
Dopo che l'ultimo riferimento attivo a un Timer oggetto viene eliminato e tutte le attività in sospeso hanno completato l'esecuzione, il thread di esecuzione dell'attività del timer termina normalmente (e diventa soggetto a Garbage Collection). Tuttavia, questa operazione può richiedere arbitrariamente molto tempo. Per impostazione predefinita, il thread di esecuzione dell'attività non viene eseguito come thread daemon, pertanto è in grado di impedire la terminazione di un'applicazione. Se un chiamante vuole terminare rapidamente il thread di esecuzione dell'attività di un timer, il chiamante deve richiamare il metodo del cancel timer.
Se il thread di esecuzione dell'attività del timer termina in modo imprevisto, ad esempio perché viene richiamato il relativo stop metodo, qualsiasi altro tentativo di pianificare un'attività sul timer comporterà un IllegalStateExceptionrisultato , come se il metodo del cancel timer fosse stato richiamato.
Questa classe è thread-safe: più thread possono condividere un singolo Timer oggetto senza la necessità di sincronizzazione esterna.
Questa classe non offre garanzie in tempo reale: pianifica le attività usando il Object.wait(long) metodo .
Java 5.0 ha introdotto il java.util.concurrent pacchetto e una delle utilità di concorrenza in esso contenute è il java.util.concurrent.ScheduledThreadPoolExecutor ScheduledThreadPoolExecutor che è un pool di thread per l'esecuzione ripetuta di attività a una determinata velocità o ritardo. È in effetti una sostituzione più versatile per la Timer/TimerTask combinazione, in quanto consente più thread di servizio, accetta varie unità di tempo e non richiede la sottoclasse TimerTask (solo implementare Runnable). La configurazione ScheduledThreadPoolExecutor con un thread equivale a Timer.
Nota di implementazione: questa classe viene ridimensionata a un numero elevato di attività pianificate contemporaneamente (migliaia non devono presentare problemi). Internamente, usa un heap binario per rappresentare la relativa coda di attività, quindi il costo per pianificare un'attività è O(log n), dove n è il numero di attività pianificate contemporaneamente.
Nota di implementazione: tutti i costruttori avviano un thread timer.
Aggiunta nella versione 1.3.
Le parti di questa pagina sono modifiche basate sul lavoro creato e condiviso dalla e usati in base ai termini descritti in Creative License 2.5 Attribution License.
Costruttori
| Nome | Descrizione |
|---|---|
| Timer() |
Crea un nuovo timer. |
| Timer(Boolean) |
Crea un nuovo timer il cui thread associato può essere specificato in Thread#setDaemon eseguito come daemon. |
| Timer(IntPtr, JniHandleOwnership) |
Costruttore usato durante la creazione di rappresentazioni gestite di oggetti JNI; chiamato dal runtime. |
| Timer(String, Boolean) |
Crea un nuovo timer il cui thread associato ha il nome specificato e può essere specificato in Thread#setDaemon eseguito come daemon. |
| Timer(String) |
Crea un nuovo timer il cui thread associato ha il nome specificato. |
Proprietà
| Nome | Descrizione |
|---|---|
| Class |
Restituisce la classe di runtime di questo |
| Handle |
Handle per l'istanza di Android sottostante. (Ereditato da Object) |
| JniIdentityHashCode |
Ottiene il codice hash di identità assegnato a questo Java peer dal runtime di interoperabilità. (Ereditato da Object) |
| JniManagedPeerState |
Una funzionalità per i thread per pianificare le attività per l'esecuzione futura in un thread in background. (Ereditato da JavaObject) |
| JniPeerMembers |
Una funzionalità per i thread per pianificare le attività per l'esecuzione futura in un thread in background. |
| PeerReference |
Ottiene il riferimento all'oggetto JNI per questo peer Java. (Ereditato da Object) |
| 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. |
Metodi
| Nome | Descrizione |
|---|---|
| Cancel() |
Termina questo timer, rimuovendo eventuali attività attualmente pianificate. |
| Clone() |
Crea e restituisce una copia di questo oggetto. (Ereditato da Object) |
| Construct(JniObjectReference, JniObjectReferenceOptions) |
Una funzionalità per i thread per pianificare le attività per l'esecuzione futura in un thread in background. (Ereditato da JavaObject) |
| Dispose() |
Rilascia le risorse contenute in questo peer Java. (Ereditato da Object) |
| Dispose(Boolean) |
Rilascia le risorse contenute in questo peer Java. (Ereditato da Object) |
| DisposeUnlessReferenced() |
Una funzionalità per i thread per pianificare le attività per l'esecuzione futura in un thread in background. (Ereditato da JavaObject) |
| Equals(Object) |
Una funzionalità per i thread per pianificare le attività per l'esecuzione futura in un thread in background. (Ereditato da JavaObject) |
| Equals(Object) |
Indica se un altro oggetto è "uguale a" questo. (Ereditato da Object) |
| GetHashCode() |
Restituisce un valore di codice hash per l'oggetto . (Ereditato da Object) |
| JavaFinalize() |
Chiamato dal Garbage Collector su un oggetto quando Garbage Collection determina che non sono presenti altri riferimenti all'oggetto . (Ereditato da Object) |
| Notify() |
Riattiva un singolo thread in attesa del monitor dell'oggetto. (Ereditato da Object) |
| NotifyAll() |
Riattiva tutti i thread in attesa del monitor dell'oggetto. (Ereditato da Object) |
| Purge() |
Rimuove tutte le attività annullate dalla coda di attività del timer. |
| Schedule(TimerTask, Date, Int64) |
Pianifica l'attività specificata per l'esecuzione ripetuta a ritardo fisso, a partire dall'ora specificata. |
| Schedule(TimerTask, Date) |
Pianifica l'attività specificata per l'esecuzione al momento specificato. |
| Schedule(TimerTask, Int64, Int64) |
Pianifica l'attività specificata per l'esecuzione ripetuta a ritardo fisso, a partire dal ritardo specificato. |
| Schedule(TimerTask, Int64) |
Pianifica l'attività specificata per l'esecuzione dopo il ritardo specificato. |
| ScheduleAtFixedRate(TimerTask, Date, Int64) |
Pianifica l'attività specificata per l'esecuzione ripetuta a frequenza fissa, a partire dall'ora specificata. |
| ScheduleAtFixedRate(TimerTask, Int64, Int64) |
Pianifica l'attività specificata per l'esecuzione ripetuta a frequenza fissa, a partire dal ritardo specificato. |
| SetHandle(IntPtr, JniHandleOwnership) |
Imposta la proprietà Handle. (Ereditato da Object) |
| SetPeerReference(JniObjectReference, JniObjectReferenceOptions) |
Una funzionalità per i thread per pianificare le attività per l'esecuzione futura in un thread in background. (Ereditato da JavaObject) |
| ToArray<T>() |
Crea una matrice gestita da questo wrapper di matrice Java. (Ereditato da Object) |
| ToString() |
Restituisce una rappresentazione di stringa dell'oggetto . (Ereditato da Object) |
| UnregisterFromRuntime() |
Annulla la registrazione di questo Java peer dal runtime di interoperabilità. (Ereditato da Object) |
| Wait() |
Fa sì che il thread corrente attenda finché non viene risvegliato, in genere ricevendo <>una notifica</em> o <em>interrotto</em>. (Ereditato da Object) |
| Wait(Int64, Int32) |
Fa sì che il thread corrente attenda finché non viene risvegliato, in genere ricevendo<> una notifica</em> o <em>interrotto</em> o fino a quando non è trascorsa una determinata quantità di tempo reale. (Ereditato da Object) |
| Wait(Int64) |
Fa sì che il thread corrente attenda finché non viene risvegliato, in genere ricevendo<> una notifica</em> o <em>interrotto</em> o fino a quando non è trascorsa una determinata quantità di tempo reale. (Ereditato da Object) |
Implementazioni dell'interfaccia esplicita
| Nome | Descrizione |
|---|---|
| IJavaPeerable.Disposed() |
Una funzionalità per i thread per pianificare le attività per l'esecuzione futura in un thread in background. (Ereditato da JavaObject) |
| IJavaPeerable.Finalized() |
Una funzionalità per i thread per pianificare le attività per l'esecuzione futura in un thread in background. (Ereditato da JavaObject) |
| IJavaPeerable.JniObjectReferenceControlBlock |
Una funzionalità per i thread per pianificare le attività per l'esecuzione futura in un thread in background. (Ereditato da JavaObject) |
| IJavaPeerable.SetJniIdentityHashCode(Int32) |
Una funzionalità per i thread per pianificare le attività per l'esecuzione futura in un thread in background. (Ereditato da JavaObject) |
| IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
Una funzionalità per i thread per pianificare le attività per l'esecuzione futura in un thread in background. (Ereditato da JavaObject) |
| IJavaPeerable.SetPeerReference(JniObjectReference) |
Una funzionalità per i thread per pianificare le attività per l'esecuzione futura in un thread in background. (Ereditato da JavaObject) |
Metodi di estensione
| Nome | Descrizione |
|---|---|
| GetJniTypeName(IJavaPeerable) |
Ottiene il nome JNI del tipo dell'istanza |
| JavaAs<TResult>(IJavaPeerable) |
Provare a digitare |
| JavaCast<TResult>(IJavaObject) |
Esegue una conversione del tipo di tipo controllato dal runtime Android. |
| JavaCast<TResult>(IJavaObject) |
Una funzionalità per i thread per pianificare le attività per l'esecuzione futura in un thread in background. |
| TryJavaCast<TResult>(IJavaPeerable, TResult) |
Provare a digitare |