Como cada thread pode ter acesso a qualquer endereço de memória dentro do espaço de endereçamento do processo, uma thread pode ler, escrever ou até mesmo apagar completamente a pilha de outra thread. Portanto, não existe qualquer tipo de proteção entre as threads de um mesmo processo. Já no caso de processos diversos, essa proteção é uma consequência natural de seu espaço de endereçamento separado.

Além disso, as threads também possuem estados de execução, assim como os processos, o que significa que uma thread pode estar nos estados de running, ready ou blocked.

É importante salientar, que, no caso da máquina virtual Java, a implementação de threads da referida tecnologia possui mais dois estados que são:

Na próxima etapa do nosso estudo, será mostrado esse diagrama com os cinco estados de uma thread para a JVM.

A tabela abaixo lista, na primeira coluna, alguns itens compartilhados por todas as threads em um mesmo processo, enquanto que a segunda coluna lista alguns itens específicos a cada thread.

Itens por Processo Itens por Thread
Espaço de endereçamento Contador de programa
Variáveis globais Registradores
Arquivos abertos Pilha
Processos Filhos Estado
Alarmes pendentes
Sinais e seus manipuladores
Copyright © 2016 AIEC.