Thread Classe
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Um thread é um thread de execução em um programa.
[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
- Herança
- Derivado
- Atributos
- Implementações
Comentários
Um thread é um thread de execução em um programa. A Java Virtual Machine permite que um aplicativo tenha vários threads de execução em execução simultaneamente.
Cada thread tem uma prioridade. Os threads com prioridade mais alta são executados em preferência aos threads com prioridade mais baixa. Cada thread pode ou não ser marcado como um daemon. Quando o código em execução em algum thread cria um novo Thread objeto, o novo thread tem sua prioridade inicialmente definida como igual à prioridade do thread de criação e é um thread de daemon se e somente se o thread de criação for um daemon.
Quando uma Java Virtual Machine é iniciada, geralmente há um único encadeamento não daemon (que normalmente chama o método nomeado main de alguma classe designada). A Java Virtual Machine continua a executar encadeamentos até que ocorra uma das seguintes situações: <ul><li>O exit método de classe Runtime foi chamado e o gerenciador de segurança permitiu que a operação de saída ocorresse.
<li>Todos os threads que não são threads daemon morreram, retornando da chamada para o run método ou lançando uma exceção que se propaga além do run método.
</ul>
Há duas maneiras de criar um novo thread de execução. Uma é declarar uma classe como uma subclasse de Thread. Essa subclasse deve substituir o run método da classe Thread. Uma instância da subclasse pode então ser alocada e iniciada. Por exemplo, um thread que calcula primos maiores que um valor declarado pode ser escrito da seguinte maneira: <hr><blockquote>
class PrimeThread extends Thread {
long minPrime;
PrimeThread(long minPrime) {
this.minPrime = minPrime;
}
public void run() {
// compute primes larger than minPrime
. . .
}
}
</blockquote><hr>
O código a seguir criaria um thread e o iniciaria em execução: <blockquote>
PrimeThread p = new PrimeThread(143);
p.start();
</blockquote>
A outra maneira de criar um thread é declarar uma classe que implementa a Runnable interface. Essa classe então implementa o run método. Uma instância da classe pode então ser alocada, passada como um argumento ao criar Threade iniciada. O mesmo exemplo neste outro estilo se parece com o seguinte: <hr><blockquote>
class PrimeRun implements Runnable {
long minPrime;
PrimeRun(long minPrime) {
this.minPrime = minPrime;
}
public void run() {
// compute primes larger than minPrime
. . .
}
}
</blockquote><hr>
O código a seguir criaria um thread e o iniciaria em execução: <blockquote>
PrimeRun p = new PrimeRun(143);
new Thread(p).start();
</blockquote>
Cada thread tem um nome para fins de identificação. Mais de um thread pode ter o mesmo nome. Se um nome não for especificado quando um thread for criado, um novo nome será gerado para ele.
A menos que indicado de outra forma, passar um null argumento para um construtor ou método nesta classe fará com que um NullPointerException seja lançado.
Adicionado em 1.0.
Documentação Java para java.lang.Thread.
Partes desta página são modificações baseadas no trabalho criado e compartilhado pelo Android Open Source Project e usadas de acordo com os termos descritos na Licença de Atribuição Creative Commons 2.5.
Construtores
| Nome | Description |
|---|---|
| Thread() |
Aloca um novo |
| Thread(Action, String) |
Inicializa uma nova instância de |
| Thread(Action) |
Inicializa uma nova instância de |
| Thread(IntPtr, JniHandleOwnership) |
Um construtor usado ao criar representações gerenciadas de objetos JNI; chamado pelo runtime. |
| Thread(IRunnable, String) |
Aloca um novo |
| Thread(IRunnable) |
Aloca um novo |
| Thread(String) |
Aloca um novo |
| Thread(ThreadGroup, Action, String, Int64) |
Inicializa uma nova instância de |
| Thread(ThreadGroup, Action, String) |
Inicializa uma nova instância de |
| Thread(ThreadGroup, Action) |
Inicializa uma nova instância de |
| Thread(ThreadGroup, IRunnable, String, Int64, Boolean) |
Aloca um novo |
| Thread(ThreadGroup, IRunnable, String, Int64) |
Aloca um novo |
| Thread(ThreadGroup, IRunnable, String) |
Aloca um novo |
| Thread(ThreadGroup, IRunnable) |
Aloca um novo |
| Thread(ThreadGroup, String) |
Aloca um novo |
Campos
| Nome | Description |
|---|---|
| MaxPriority |
A prioridade máxima que um thread pode ter. |
| MinPriority |
A prioridade mínima que um thread pode ter. |
| NormPriority |
A prioridade padrão atribuída a um thread. |
Propriedades
| Nome | Description |
|---|---|
| AllStackTraces |
Retorna um mapa de rastreamentos de pilha para todos os threads dinâmicos. |
| Class |
Retorna a classe de tempo de execução deste |
| ContextClassLoader |
Retorna o contexto |
| Daemon |
Testa se esse thread é um thread de daemon. |
| DefaultUncaughtExceptionHandler |
Retorna o manipulador padrão invocado quando um thread é encerrado abruptamente devido a uma exceção não capturada. -ou- Defina o manipulador padrão invocado quando um thread é encerrado abruptamente devido a uma exceção não capturada e nenhum outro manipulador foi definido para esse thread. |
| Handle |
O identificador para a instância subjacente do Android. (Herdado de Object) |
| Id |
Retorna o identificador deste Thread. |
| IsAlive |
Testa se este thread está ativo. |
| IsInterrupted |
Testa se esse thread foi interrompido. |
| IsVirtual |
Retorna |
| JniIdentityHashCode |
Obtém o código de hash de identidade atribuído a esse par Java pelo runtime de interoperabilidade. (Herdado de Object) |
| JniManagedPeerState |
Um thread é um thread de execução em um programa. (Herdado de JavaObject) |
| JniPeerMembers |
Obtém os metadados JNI usados para invocar membros desse par Java. |
| Name |
Retorna o nome desse thread. -ou- Altera o nome deste thread para ser igual ao argumento |
| PeerReference |
Obtém a referência de objeto JNI para este par Java. (Herdado de Object) |
| Priority |
Retorna a prioridade desse thread. |
| ThreadGroup |
Retorna o grupo de threads ao qual esse thread pertence. |
| ThresholdClass |
Essa API é compatível com a infraestrutura Mono para Android e não se destina a ser usada diretamente do seu código. |
| ThresholdType |
Essa API é compatível com a infraestrutura Mono para Android e não se destina a ser usada diretamente do seu código. |
| UncaughtExceptionHandler |
Retorna o manipulador invocado quando esse thread é encerrado abruptamente devido a uma exceção não capturada. -ou- Defina o manipulador invocado quando esse thread for encerrado abruptamente devido a uma exceção não capturada. |
Métodos
| Nome | Description |
|---|---|
| ActiveCount() |
Retorna uma estimativa do número de encadeamentos ativos no java do encadeamento atual. |
| CheckAccess() |
Determina se o thread em execução no momento tem permissão para modificar esse thread. |
| Clone() |
Cria e retorna uma cópia desse objeto. (Herdado de Object) |
| Construct(JniObjectReference, JniObjectReferenceOptions) |
Um thread é um thread de execução em um programa. (Herdado de JavaObject) |
| CountStackFrames() |
Obsoleto.
Gera |
| CurrentThread() |
Retorna uma referência ao objeto thread em execução no momento. |
| Destroy() |
Obsoleto.
Gera |
| Dispose() |
Libera os recursos mantidos por esse par Java. (Herdado de Object) |
| Dispose(Boolean) |
Libera os recursos mantidos por esse par Java. (Herdado de Object) |
| DisposeUnlessReferenced() |
Um thread é um thread de execução em um programa. (Herdado de JavaObject) |
| DumpStack() |
Imprime um rastreamento de pilha do thread atual para o fluxo de erro padrão. |
| Enumerate(Thread[]) |
Copia para a matriz especificada todos os threads ativos no grupo de threads do thread atual e seus subgrupos. |
| Equals(Object) |
Um thread é um thread de execução em um programa. (Herdado de JavaObject) |
| Equals(Object) |
Indica se algum outro objeto é "igual a" este. (Herdado de Object) |
| GetHashCode() |
Retorna um valor de código hash para o objeto. (Herdado de Object) |
| GetStackTrace() |
Retorna uma matriz de elementos de rastreamento de pilha que representam o despejo de pilha desse thread. |
| GetState() |
Retorna o estado desse thread. |
| HoldsLock(Object) |
Retorna |
| Interrupt() |
Interrompe este tópico. |
| Interrupted() |
Testa se o thread atual foi interrompido. |
| JavaFinalize() |
Chamado pelo coletor de lixo em um objeto quando a coleta de lixo determina que não há mais referências ao objeto. (Herdado de Object) |
| Join() |
Espera que este tópico morra. |
| Join(Int64, Int32) |
Aguarda no máximo |
| Join(Int64) |
Espera no máximo |
| Notify() |
Ativa um único thread que está aguardando no monitor desse objeto. (Herdado de Object) |
| NotifyAll() |
Ativa todos os threads que estão aguardando no monitor deste objeto. (Herdado de Object) |
| OnSpinWait() |
Indica que o chamador está momentaneamente incapaz de progredir, até a ocorrência de uma ou mais ações por parte de outras atividades. |
| Resume() |
Obsoleto.
Gera |
| Run() |
Se esse thread foi construído usando um objeto de execução separado |
| SetHandle(IntPtr, JniHandleOwnership) |
Define a propriedade Handle. (Herdado de Object) |
| SetPeerReference(JniObjectReference, JniObjectReferenceOptions) |
Um thread é um thread de execução em um programa. (Herdado de JavaObject) |
| Sleep(Int64, Int32) |
Faz com que o thread em execução no momento entre em suspensão (interrompa temporariamente a execução) pelo número especificado de milissegundos mais o número especificado de nanossegundos, sujeito à precisão e exatidão dos temporizadores e agendadores do sistema. |
| Sleep(Int64) |
Faz com que o thread em execução no momento entre em suspensão (interrompa temporariamente a execução) pelo número especificado de milissegundos, sujeito à precisão e exatidão dos temporizadores e agendadores do sistema. |
| Start() |
Faz com que esse thread inicie a execução; a Java Virtual Machine chama o |
| Stop() |
Obsoleto.
Gera |
| Stop(Throwable) |
Obsoleto.
Gera |
| Suspend() |
Obsoleto.
Gera |
| ThreadId() |
Retorna o identificador deste Thread. |
| ToArray<T>() |
Cria uma matriz gerenciada com base nesse wrapper de matriz Java. (Herdado de Object) |
| ToString() |
Retorna uma representação de cadeia de caracteres do objeto. (Herdado de Object) |
| UnregisterFromRuntime() |
Cancela o registro desse par Java do runtime de interoperabilidade. (Herdado de Object) |
| Wait() |
Faz com que o thread atual aguarde até que seja despertado, normalmente sendo <notificado></em> ou <em>interrompido</em>. (Herdado de Object) |
| Wait(Int64, Int32) |
Faz com que o thread atual aguarde até que seja ativado, normalmente sendo <notificado></em> ou <em>interrompido</em>, ou até que uma determinada quantidade de tempo real tenha decorrido. (Herdado de Object) |
| Wait(Int64) |
Faz com que o thread atual aguarde até que seja ativado, normalmente sendo <notificado></em> ou <em>interrompido</em>, ou até que uma determinada quantidade de tempo real tenha decorrido. (Herdado de Object) |
| Yield() |
Uma dica para o agendador de que o thread atual está disposto a ceder seu uso atual de um processador. |
Implantações explícitas de interface
| Nome | Description |
|---|---|
| IJavaPeerable.Disposed() |
Um thread é um thread de execução em um programa. (Herdado de JavaObject) |
| IJavaPeerable.Finalized() |
Um thread é um thread de execução em um programa. (Herdado de JavaObject) |
| IJavaPeerable.JniObjectReferenceControlBlock |
Um thread é um thread de execução em um programa. (Herdado de JavaObject) |
| IJavaPeerable.SetJniIdentityHashCode(Int32) |
Um thread é um thread de execução em um programa. (Herdado de JavaObject) |
| IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
Um thread é um thread de execução em um programa. (Herdado de JavaObject) |
| IJavaPeerable.SetPeerReference(JniObjectReference) |
Um thread é um thread de execução em um programa. (Herdado de JavaObject) |
| IJavaPeerable.UnregisterFromRuntime() |
Um thread é um thread de execução em um programa. |
Métodos de Extensão
| Nome | Description |
|---|---|
| GetJniTypeName(IJavaPeerable) |
Obtém o nome JNI do tipo da instância |
| JavaAs<TResult>(IJavaPeerable) |
Tente coagir a digitar |
| JavaCast<TResult>(IJavaObject) |
Executa uma conversão de tipo verificada pelo tempo de execução do Android. |
| JavaCast<TResult>(IJavaObject) |
Um thread é um thread de execução em um programa. |
| TryJavaCast<TResult>(IJavaPeerable, TResult) |
Tente coagir a digitar |