O que é thread?

Thread é uma parte do código que pode ser executada independentemente do programa principal. Por exemplo, um programa pode ter uma thread aberta aguardando um evento específico para ocorrer ou executando um trabalho separado, permitindo que o programa principal execute outras tarefas. Um programa é capaz de ter várias threads abertas ao mesmo tempo e irá terminá-los ou suspendê-los após uma tarefa ser concluída, ou o programa é fechado.

 

História do thread

Threads fizeram uma aparição precoce no OS/360 MVT (Multiprogramming with a Variable Number of Tasks) em 1967, onde eram chamados de tarefas (tasks). O termo thread foi atribuído a Victor A. Vyssotsky.

Agendadores de processos (process schedulers) de muitos sistemas operacionais modernos suportam ambos tipos de multithreading: time-sliced e multiprocessadores, e o kernel (núcleo) do sistema operacional permite que os programadores manipulem threads, expondo a funcionalidade necessária através da interface de chamada do sistema. Ou seja, podemos utilizar threads em nossos aplicativos.

 

Sistemas monoprocessados e multiprocessados

No início dos tempos da informática, existiam apenas computadores monoprocessados, ou seja, possuíam apenas um único processador. Nestes sistemas, o multithreading (processamento em paralelo de threads) era implementado através do time slicing (corte de tempo).

A CPU (Central Processing Unit – unidade central de processamento) alterna entre diferentes threads de software. Essa troca de contexto acontece rápido o suficiente para que os usuários percebam as threads ou tarefas (tasks) como execução em paralelo.

Como a velocidade da troca de execução entre threads é bem mais alta do que podemos perceber, parece que os programas estão sendo executados ao mesmo tempo. Então na verdade tudo não passa de uma ilusão.

Em um sistema multiprocessado ou multi-core, várias threads podem executar em paralelo, com cada processador ou núcleo executando uma thread separada simultaneamente.

Durante um bom tempo apenas servidores possuíam processadores multi core, pois eram muito caros. Porém hoje em dia já temos processadores multi core em notebooks e smartphones.

 

Palavras finais

Em resumo, thread é a menor unidade de processamento que pode ser executada em um sistema operacional. Na maioria dos sistemas operacionais modernos, uma thread existe dentro de um processo e um único processo pode conter várias threads.

Como já dito acima, podemos utilizar esta funcionalidade e aumentar a performance do nosso aplicativo.

Por exemplo, o usuário pode continuar a utilizar o aplicativo enquanto consultamos uma tabela no servidor ou carregamos um vídeo na memória.

E para receber um aviso quando os próximos artigos forem publicados, se cadastre na lista VIP do Celso!

Comece pelo e-book GRATUITO

5 Passos Para Ser Um App Dev

Se você não sabe por onde começar, este e-book te mostra os passos para ser um desenvolvedor de aplicativos de sucesso.
100% livre de spam.

Para enviar seu comentário, preencha os campos abaixo:

Deixe uma resposta

*

Seja o primeiro a comentar!