Threads em Java
Mestrado em Informática
Fora de Sede
Universidade Tiradentes
Aracaju - Sergipe
Disciplina Sistemas Operacionais
Professor Jacques Philippe Sauvé
Aluno José Maria Rodrigues Santos Júnior
Monografia Threads em Java
Aracaju 08 de março de 2000
O que é Thread ? 4
Definição de Processo 4
Definição de Thread 4
Paralelismo x Concorrência 5
Thread em Java 5
Criando Threads em Java 7
Implementando o Comportamento de uma Thread 7
Criando uma subclasse de Thread 7
Exemplo de criação de threads estendendo a classe Thread 7
Implementando a Interface Runnable 8
Exemplo de thread implementando a interface Runnable 8
Escolhendo entre os dois métodos de criação de threads 8
Um exemplo mais interessante de threads em Java 9
Resultado da Execução – Corrida de Sapos 10
O ciclo de vida de uma Thread 11
Criando Threads 12
Iniciando Threads 12
Fazendo Thread Esperar 12
Finalizando Threads 12
Verificando se Threads estão Executando/Pronta/Esperando ou Novas/Mortas 12
Threads Daemon 13
Escalonamento de Threads 13
Exemplo de aplicação usando threads com diferentes prioridades 14
Sincronizando Threads (Concorrência) 15
Implementando Exclusão Mútua de Regiões Críticas 15
Comunicação Entre Threads 15
Evitando Starvation e Deadlock 16
Agrupando Threads 17
O Grupo Padrão de Threads 17
Criando Grupos de Threads e Inserindo Threads 17
Operações sobre Grupos de Threads 17
O Exemplo Produtor/Consumidor ou Buffer Limitado 18
Resultado da Execução – Produtor/Consumidor 24
O Exemplo do Jantar dos Filósofos Glutões 25
Resultado da Execução – Jantar do Filósofos Glutões 30
Bibliografia 31
Fontes de Pesquisa 31
Threads em Java
O que é Thread ?
O conceito de thread está intimamente ligado ao conceito de processo, assim é fundamental entender o que são processos, como eles são representados e colocados em execução pelo Sistema Operacional, para em seguida entender as