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.
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.
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.