Threads

Disponível somente no TrabalhosFeitos
  • Páginas : 19 (4609 palavras )
  • Download(s) : 0
  • Publicado : 30 de março de 2013
Ler documento completo
Amostra do texto
Universidade Federal da Paraíba

[pic]

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 ? 3
Definição deProcesso 3
Definição de Thread 3
Paralelismo x Concorrência 4
Thread em Java 4
Criando Threads em Java 6
Implementando o Comportamento de uma Thread 6
Criando uma subclasse de Thread 6
Exemplo de criação de threads estendendo a classe Thread 6
Implementando a Interface Runnable 7
Exemplo de thread implementando a interface Runnable 7
Escolhendo entre os doismétodos de criação de threads 7
Um exemplo mais interessante de threads em Java 8
Resultado da Execução – Corrida de Sapos 9
O ciclo de vida de uma Thread 10
Criando Threads 11
Iniciando Threads 11
Fazendo Thread Esperar 11
Finalizando Threads 11
Verificando se Threads estão Executando/Pronta/Esperando ou Novas/Mortas 11
Threads Daemon 12
Escalonamento de Threads12
Exemplo de aplicação usando threads com diferentes prioridades 13
Sincronizando Threads (Concorrência) 14
Implementando Exclusão Mútua de Regiões Críticas 14
Comunicação Entre Threads 14
Evitando Starvation e Deadlock 15
Agrupando Threads 16
O Grupo Padrão de Threads 16
Criando Grupos de Threads e Inserindo Threads 16
Operações sobre Grupos de Threads 16
OExemplo Produtor/Consumidor ou Buffer Limitado 17
Resultado da Execução – Produtor/Consumidor 23
O Exemplo do Jantar dos Filósofos Glutões 24
Resultado da Execução – Jantar do Filósofos Glutões 29
Bibliografia 30
Fontes de Pesquisa 30
Threads em Java

O que é Thread ?

O conceito de thread está intimamente ligado ao conceito de processo, assim é fundamental entender o que sãoprocessos, como eles são representados e colocados em execução pelo Sistema Operacional, para em seguida entender as threads. Dessa forma segue uma breve definição de Processo e posteriormente a de Thread.


Definição de Processo

“Um processo é basicamente um programa em execução, sendo constituído do código executável, dos dados referentes ao código, da pilha de execução, do valor docontador de programa (registrador PC), do valor do apontador do apontador de pilha (registrador SP), dos valores dos demais registradores do hardware, além de um conjunto de outras informações necessárias à execução dos programas.” Tanenbaum

Podemos resumir a definição de processo dizendo que o mesmo é formado pelo seu espaço de endereçamento lógico e pela sua entrada na tabela de processosdo Sistema Operacional. Assim um processo pode ser visto como uma unidade de processamento passível de ser executado em um computador e essas informações sobre processos são necessárias para permitir que vários processos possam compartilhar o mesmo processador com o objetivo de simular paralelismo na execução de tais processos através da técnica de escalonamento, ou seja, os processos se revezam (osistema operacional é responsável por esse revezamento) no uso do processador e para permitir esse revezamento será necessário salvar o contexto do processo que vai ser retirado do processador para que futuramente o mesmo possa continuar sua execução.


Definição de Thread

“Thread, ou processo leve, é a unidade básica de utilização da CPU, consistindo de : contador de programa, conjuntode registradores e uma pilha de execução. Thread são estruturas de execução pertencentes a um processo e assim compartilham os segmentos de código e dados e os recursos alocados ao sistema operacional pelo processo. O conjunto de threads de um processo é chamado de Task e um processo tradicional possui uma Task com apenas uma thread.” Silberschatz

O conceito de thread foi criado com...
tracking img