SóProvas


ID
645394
Banca
AOCP
Órgão
BRDE
Ano
2012
Provas
Disciplina
Programação
Assuntos

Analise as assertivas e assinale a alternativa que aponta as corretas sobre os diferentes estados que uma Thread Java pode estar.

I. Nova
II. Executável
III. Bloqueada
IV. Terminada
V. Esquecida
VI. Persistida.

Alternativas
Comentários
  • IV Terminada

    se a thread terminou, ela é morta, então não precisaria ficar em um estado marcado.

    V Esquecida

    se a thread foi esquecida, ela teria que sumir para não ser mais "lembrada", por definição 
  • Não entendi a questão , se alguem poder exemplificar depois ficaria grata .
  • Bem, imagino q qt aos primeiros 3 topicos, nao haja duvidas.

    Qt aos seguintes, de acordo com "Fundamentals of Java Programming" da Cisco, tem-se:

    IV. Terminada: eh usado o termo "morta" (dead), mas é compativel
    V. Esquecida: na pagina 988 ele afirma q uma thread pode estar em um estado unknown, não sei s pode haver uma associação pobre de esquecida==unknown, mas me parece q não encaixa mt bem..
    VI. Persistida: não ouvi nada sobre esse tipo de thread em todo o livro..

    abss!
  • Alternativa b.

    A execução de uma thread pode passar por quatro estados: novo, executável, bloqueado e encerrado(no caso chamado de terminada).

     http://www.devmedia.com.br/utilizando-threads-parte-1/4459#ixzz2nx8IVI35

  • A seguir são descritos os possíveis estados que elas podem assumir:

    1. New:

    A thread fica neste estado após criar sua instância e antes de invocar o método start();

    2. Runnable:

    Indica que ela está executando na máquina virtual Java;

    3. Blocked:

    Ainda está ativa, mas está à espera por algum recurso que está em uso por outra thread;

    4. Waiting:

    Quando neste estado, ela está à espera por tempo indeterminado pelo fato de outra thread ter executado uma determinada ação. Isto ocorre quando se invoca o método wait() ou join(), por exemplo;

    5. Timed_Waiting:

    Neste estado a thread está à espera de uma operação por um tempo pré-determinado. Por exemplo, esta situação ocorre ao invocar métodos como Thread.sleep(sleeptime), wait(timeout) ou join(timeout); e

    6. Terminated:

    Este estado sinaliza que o método run() finalizou.

  • Essa questão não está relacionada aos conceitos de escalonamento de processos? Ou seja, processo nos estados: pronto, em execução, bloqueado e terminado.

  • Ciclo de vida e estados de thread

    - Estados novo e executável: Uma nova thread inicia seu ciclo de vida no estado novo. Ela permanece nesse estado até que o programa inicie a thread, o que a coloca no estado executável.

    Estado de espera: uma thread executável transita para o estado de espera enquanto aguarda outra thread realizar uma tarefa.

    Estado de espera sincronizada: Uma thread executável pode entrar no estado de espera sincronizada por um intervalo especificado de tempo. A thread é colocada para dormir.

    Estado bloqueado: Uma thread executável passa para o estado bloqueado quando tenta realizar uma tarefa que não pode ser concluída imediatamente e deve esperar até que a tarefa seja concluída.

    Alternativa: B