O QUE SÃO THREADS – Fluxo de controle?

Threads são conhecidas como processos leves, também são consideradas como um processo dentro de outro processo. As threads são executadas em processos, mas as duas usam conceitos diferentes e devem ser tratadas em separado. Enquanto os processos são usados para agrupar recursos, as thereads são entidades escalonadas para usar a CPU.

sistemaO thread também é usado para um programa dividir a si mesmo em duas ou mais tarefas simultâneas. Quando existem várias threads em um único processo esse é chamado de Multithread.

Recomendamos que você leia também sobre a gerencia de processos.

Vantagens de se usar Threads

O uso de Threads traz algumas vantagens para o sistema, dentre elas estão:

O tempo de resposta: Mesmo que uma aplicação tenha parte dela bloqueada ou sua execução esteja lenta, o thread permite que o usuário continue com a execução.

Compartilhamento de recursos: Foram criadas para compartilhar todos os recursos do sistema.

Economia: Fica bem mais em conta criar ou substituir  o contexto das threads.

Gerencia de Threads

A gerencia de threads é dividida em quatro partes, a região critica, exclusão mutua, sinais e trap.

:: ::

Região critica: Essa é a região em que são realizados os acessos concorrentes dos processos. Para saber um pouco mais sobre concorrência no SO, acesse: tudo sobre concorrência nos sistemas operacionais.

Exclusão mutua: Usada para evitar que dois ou mais processos ou threads tenham acesso ao mesmo tempo a um recurso compartilhado em especifico.

Sinais: São interrupções de software que notificam ao processo que um evento ocorreu.

Trap: Trata-se de um serviço onde um processo notifica o Sistema Operacional pedindo para usar algum serviço que esteja protegido. O trap irá bloquear o pedido até que o sistema operacional realize o mesmo.

Sequência lógica para que processos utilizem recursos do sistema

A sequência lógica funciona da seguinte maneira:

Pedido: O processo realiza um pedido, em forma de trap, solicitando o uso de um referido recurso, caso o recurso esteja sendo usado por outro processo, o mesmo será bloqueado até que a liberação seja efetuada;

Uso: O processo pode fazer uso do recurso solicitado;

Liberação: A liberação do recurso para outro processo é realizada pelo Sistema operacional assim que o processo anterior termina a sua ação.

Gostou da leitura? Aprenda mais sobre Threads lendo sobre processos em “gerencia de processos”.

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *