2 - Thread

Em sistemas operacionais tradicionais, cada processo tem um espaço de endereçamento e uma única thread de controle. Na verdade, isso é quase uma definição de processo.

Uma thread é o fluxo de controle de um processo.

Frequentemente há situações em que é desejável ter múltiplas threads de controle no mesmo espaço de endereçamento executando em paralelo ou pseudoparalelo, como se eles fossem processos separados (exceto pelo espaço de endereçamento compartilhado). As threads são classificadas como sendo “processos leves” ou miniprocessos.

A principal razão para existirem threads é que em muitas aplicações ocorrem múltiplas atividades ao mesmo tempo. A programação multithread é praticamente idêntica a de multiprocesso.

Um detalhe importante e fundamental no multithread é que o espaço de endereçamento e todos os seus dados são compartilhados por todas as threads pertencentes ao mesmo processo.

Uma segunda razão para existência de threads é que elas são fáceis de criar e destruir, ou seja, mais rápidas para começar e finalizar algo, uma vez que a quantidade de recursos associada a elas é bem menor que a quantidade de recursos associados a um processo inteiro/completo.
Copyright © 2016 AIEC.