DevMedia - asp.net, Java, Delphi, SQL e web Design, tudo em um só lugar!
Bem vindo a DevMedia!
LOGIN:     SENHA:
 
 

  Este é um post disponível para assinantes MVP
Este post também está disponível para assinantes da Java Magazine DIGITAL
ou para quem possui Créditos DevMedia.  Clique aqui para saber mais!

Simplificando o uso de Threads - Java Magazine 84

Nesse artigo, veremos o que são threads, como são implementadas em Java e algumas de suas principais aplicações. Veremos também como se comunicar com threads que não estão executando e como esperar o encerramento de uma thread.

[fechar]

Você não gostou da qualidade deste conteúdo?

(opcional) Você gostaria de comentar o que não lhe agradou?





Java Magazine 84

[Artigo disponível no Leitor Digital DevMedia. Clique aqui para acessá-lo]

> Clique aqui para ler todos os artigos da Java Magazine 84


Simplificando o uso de Threads
Programas concorrentes com todo suporte de Java
Java provê um meio nativo de criar programas concorrentes: threads. Neste artigo, veremos o que são, como threads funcionam e suas utilidades

Programas de computador são, geralmente, uma série de pequenos comandos executados em série: o processador executa um comando por vez, um atrás do outro, em uma ordem definida. Entretanto, nem sempre essa é a forma mais eficiente de se executar programas. Um programa pode desperdiçar muito tempo esperando o resultado de um comando que independe do processador; o computador pode ter mais de um núcleo processador; um algoritmo pode ser separado em partes que podem ser executadas paralelamente etc. Nesses casos, pode ser interessante paralelizar o programa, isto é, fazer partes do programa rodarem ao mesmo tempo – ou ao menos aparentemente ao mesmo tempo. Uma maneira muito prática e popular de se fazer isso é utilizando threads.
Como threads funcionam
A Figura 1 representa um trecho de um programa em Java. Apesar de serem trechos de um só código, há conjuntos de comandos que dependem uns dos outros, mas que não influenciam o resultado de outras instruções. Por exemplo, este código pode ser dividido em três blocos independentes, que na figura são separados por linhas brancas. Embora estejam em uma ordem definida, não importa se o primeiro bloco é executado antes ou depois do segundo ou do terceiro: eles poderiam ter suas posições trocadas sem problemas. Na verdade, como os comandos não influenciam outros blocos, nada impede que se execute o primeiro comando do primeiro bloco seguido pelo primeiro comando do segundo bloco e assim por diante, alternando comandos de um e de outro bloco.
Cada bloco do programa é independente: altera variáveis que não são usadas por nenhum outro trecho. Esse programa tem a forma ideal para ser paralelizado com threads. Para isso, os blocos devem ser convertidos em métodos e passados para uma classe específica, que os faria rodar em paralelo. Depois, o programa pode executar outras tarefas – mas, se em algum momento depender do resultado de uma das operações paralelas, deve esperar que a linha de execução da operação necessária termine. A Figura 2 apresenta uma representação gráfica deste programa.
"
A exibição deste artigo foi interrompida.

  Este é um post disponível para assinantes MVP
Este post também está disponível para assinantes da Java Magazine DIGITAL
ou para quem possui Créditos DevMedia.  Clique aqui para saber mais!


Adam Victor Nazareth Brandizzi
Desenvolvedor Java há cinco anos e já desenvolveu aplicações Web que utilizavam threads e JNI para acesso a hardware.
O que você achou deste post?

    1 COMENTÁRIO

[Fechar]

Este post é fechado - você precisa ter acesso ao post para incluir um comentário.



Alysson Da Silva Gonçalves
Artigo muito bom! Simples e funcional.
[há 13 dias] - Responder

 
Cursos relacionados
Publicidade
[Fechar]

Você precisa estar logado para dar um feedback.

Clique aqui para efetuar o login
[Fechar]


Este post está fechado. Saiba mais sobre a assinatura MVP!
web-03
DevMedia  |  Anuncie  |  Fale conosco
Hospedagem web por Porta 80 Web Hosting
2013 - Todos os Direitos Reservados a web-03