Threads
Threads em Java
Programação Distribuída
Aula 04
Prof. Amilton Souza Martha
Prof. Alexander Gobbato
BroadCast
Sockets com TCP são baseados em conexão, ou seja, é criado uma ponte entre cliente e servidor, com conexão segura;
Sockets com UDP são baseados em transferência de pacotes sem conexão entre cliente servidor. Nesse caso, podemos trafegar pacotes para toda a rede (efeito
Broadcast).
BroadCast
Vamos alterar nosso exemplo de Conexão com UDP que ao invés de responder para o computador solicitante, envia a resposta para todos na rede; de:
InetAddress IPAddress = receivePacket.getAddress();
Para:
InetAddress IPAddress = InetAddress.getByName("192.168.0.255");
Usamos esse IP pois a márcara de sub-rede é
255.255.255.0
Conceitos de Threads
Threads são sub-processos no sistema operacional;
Permite execução de processos concomitantes sem a necessidade de aguardar a finalização do outro;
Threads
Em Java, threads são implementadas como uma CLASSE
Pacote java.lang.Thread
É uma extensão da classe Thread
Construtores:
• public Thread (String nome_da_thread);
• public Thread ( ); // o nome sera Thread-#
• Thread-1, Thread-2,…
Threads – Principais Métodos
run():
é o método que executa as atividades de uma THREAD. Quando este método finaliza, a THREAD também termina. start(): método que dispara a execução de uma THREAD. Este método chama o método run( ) antes de terminar.
sleep(int x): método que coloca a THREAD para dormir por x milisegundos.
Threads – Principais Métodos join( ): método que espera o término da THREAD para qual foi enviada a mensagem para ser liberada. interrupt( ): método que interrompe a execução de uma THREAD.
interrupted( ): método que testa se uma THREAD está ou não interrompida.
Estados de uma Thread em Java
Término do tempo de dormida
nascimento start( )
Fim da E/S
notify( )