Threads em java
Gabriel de Oliveira Ramos Roland Teodorowitsch - Orientador
Universidade Luterana do Brasil (Ulbra) – Curso de Ciência da Computação – Campus Gravataí Av. Itacolomi, 3.600 – Bairro São Vicente – CEP 94170-240 – Gravataí - RS
15 de novembro de 2009
RESUMO
Este artigo apresenta o uso de threads na linguagem de programação Java, descrevendo a classe Thread bem como a interface Runnable. Menciona ainda algumas considerações importantes, como o ciclo de vida de threads, bem como questões sobre prioridades e sincronização de threads. Ao final, mostra um exemplo de aplicativo que utiliza threads bem como uma análise de desempenho de sua execução com e sem threads. Palavras-chave: Thread; Java.
ABSTRACT
Title: “Java Threads” This paper presents the use of threads in Java programming language, describing the Thread class and the Runnable interface. It mentions too some important considerations about the threads lifecycle and something about threads priorities and synchronization. Finally, shows a thread application example and an analysis of its execution. Keywords: Thread; Java.
1
INTRODUÇÃO
O desempenho computacional é um assunto amplamente discutido desde os primórdios da computação. Atualmente, a maioria dos sistemas operacionais trabalha com multiprocessamento para conferir maior desempenho na execução de processos. Em um sistema operacional multiprocessado, algoritmos de escalonamento são utilizados para dividir a utilização da CPU entre os processos em execução. Este mecanismo confere uma resposta muito mais ágil para o usuário uma vez que as tarefas parecem ser executadas ao mesmo tempo. Entretanto, este mecanismo não torna a execução de duas etapas distintas de um processo paralelas, torna paralela apenas a execução dos processos entre si. É neste ponto que se torna necessário o uso de threads. Threads podem ser definidas como fluxos seqüencias de execução de um programa. Logo, um programa pode dividir partes seqüenciais não