Threads Desenvolvimento
Alanna da Silva Ribeiro Amanda Freitas Veiga Bianca Stéfanni Asevedo Cajado dos Santos Moreira
Conceitos e aplicações com Threads
Santo Amaro - BA
Abril de 2015
Threads em Java
Em várias situações, encontramos a necessidade de executar duas coisas ao mesmo tempo. Quando usamos o computador fazemos várias coisas simultaneamente: navegar na internet, ouvir música e deixar um programa baixando, tudo ao mesmo tempo.
Assim como, quando abrimos um documento ou programa e, enquanto o mesmo carrega, observamos uma barra de progresso para acompanhar o processo, como uma forma de dar satisfação ao usuário de que o software não travou. O carregamento e a atualização da barra ocorrem paralelamente.
A necessidade de se fazer vários processos paralelamente, aparece frequentemente na computação. Para vários programas distintos (vários processos), normalmente o próprio sistema operacional gerencia isso. Já, em um programa (um processo só), se queremos executar coisas em paralelo, normalmente utilizamos Threads.
Cada processo possui diversas threads (linhas de instruções), assim podemos dividir partes do nosso processo (programa em Java) para trabalhar paralelamente.
Em Java, temos duas alternativas para implementar o recurso de multithread:
i) Implementando a Interface Runnable
Em Java, usamos a classe Thread do pacote java.lang para criarmos linhas de execução paralelas. A classe Thread recebe como argumento um objeto com o código que desejamos rodar.
O contrato entre as nossas classes a serem executadas e a classe Thread é feito pela interface Runnable: devemos dizer que nossa classe é "executável" e que segue esse contrato. Na interface Runnable há apenas um método chamado run. Basta implementá-lo, "assinar" o contrato e a classe Thread já saberá executar nossa classe.
Como exemplo, um programa para