1 - Estados de thread: ciclo de vida de uma thread

O Java disponibiliza a concorrência por meio da linguagem e das APIs.

É possível criar aplicativos que contenham threads, ou linhas de execução separadas, nas quais cada uma tenha sua própria pilha de chamadas de métodos e seu próprio contador de programa, permitindo a execução simultânea com outras threads ao compartilhar recursos no nível do aplicativo como a memória. Essa capacidade é chamada de multithreading e, no caso da linguagem Java, esse recurso independe do sistema operacional no qual o aplicativo está sendo executado.

Ao contrário de linguagens que não possuem capacidade de multithreading integradas, e, portanto, devem fazer chamadas não portáveis para primitivas de multithreading do sistema operacional, o Java inclui primitivas de multithreading como parte da própria linguagem e de suas bibliotecas permitindo a manipulação portável de aplicativos multithreading entre diversas plataformas (CPU + Sistema Operacional) diferentes. Portanto, os aplicativos Android escritos em linguagem Java podem fazer uso desse poderoso recurso de programação de computadores.

A qualquer instante, uma thread pode estar em qualquer um dos seus vários estados disponíveis. Esse modelo de estados é similar àquele modelo de estado de processos visto no modulo anterior.

A figura a seguir exibe esses possíveis estados:

Copyright © 2016 AIEC.