Threads (definição/utilização)

4 respostas
E

Olá pessoal. gostaria de intender esse termo thread. dei uma pesquisada mas não consigo imaginar bem oque é um thread e/ou quando utilizar um thread.

Desde já mto Obrigado.

4 Respostas

War_Paz

Eu não sei te explicar de um modo técnico, nem sei se adiantaria, então vou tentar te explicar de um modo mais simples:

Threads são processos que correm em paralelo. Um sistema multi-thread permite que você execute vários processos ao mesmo tempo. Logo, com um sistema multi-thread, você pode ouvir música enquanto navega na internet e baixa um programa. Isso são threads: processos paralelos. É claro que isso não quer dizer que um programa possui apenas uma thread: pelo contrário, com Java (e outras linguagens, claro) você pode criar várias threads para rodar em um só programa. Veja um jogo: existe uma thread para renderizar a imagem, outra para tocar os sons, outra para fazer os cálculos das físicas etc

Entende? :slight_smile:

R

War Paz:
Eu não sei te explicar de um modo técnico, nem sei se adiantaria, então vou tentar te explicar de um modo mais simples:

Threads são processos que correm em paralelo. Um sistema multi-thread permite que você execute vários processos ao mesmo tempo. Logo, com um sistema multi-thread, você pode ouvir música enquanto navega na internet e baixa um programa. Isso são threads: processos paralelos. É claro que isso não quer dizer que um programa possui apenas uma thread: pelo contrário, com Java (e outras linguagens, claro) você pode criar várias threads para rodar em um só programa. Veja um jogo: existe uma thread para renderizar a imagem, outra para tocar os sons, outra para fazer os cálculos das físicas etc

Entende? :slight_smile:


Cara era só dizer que threads são tarefas que podem ser executadas de forma assíncrona dentro de uma processo,que possuem a vantagem de poderem compartilhar recursos alocados pelo processo. É claro que threads são uma maravilha,mas se deve tomar muito cuidado ao se desenvolver sistemas multi-thread,pois a concorrência por acesso a um recurso entre threads ,quando não é bem gerenciada , pode causar grandes problemas dentro de uma aplicação.

Rodrigo_Sasaki

O exemplo de ouvir música enquanto faz outra coisa é meio perigoso.

Realmente, isso pode acontecer em threads separadas, porém isso não quer dizer que elas estão sendo executadas simultaneamente.

Se só existe uma CPU, somente uma thread é realmente executada por vez, mas o processador alterna entre elas tão rapidamente que parece que correm em simultâneo.

A definição simples de thread é uma linha de execução, algumas traduções também dizem segmento.

WellingtonRamos

Acho que este wiki é melhor:

Possui, inclusive, exemplos em C e Java.

Criado 21 de janeiro de 2013
Ultima resposta 22 de jan. de 2013
Respostas 4
Participantes 5