Um núcleo é uma CPU é um processador. As máquinas podem ser single-core (uma CPU) ou multi-core (mais de uma CPU). Um processador é outro nome para uma CPU.
Como geralmente há muitos processos sendo executados em um computador - todos exigindo recursos da CPU - o computador deve programar como as tarefas concorrentes são processadas. Em uma máquina de processador único (single core), o agendamento é realizado alocando pequenos intervalos de tempo para cada processo. O desempenho da máquina e o curto espaço de tempo (milissegundos) que cada processo está executando faz parecer ao usuário que os processos são executados simultaneamente.
A distinção entre um thread e um processo pode variar dependendo do sistema operacional - essa resposta tenta apenas uma explicação básica. Geralmente, um processo pode conter muitos segmentos. O sistema operacional pode agendar cada um dos segmentos separadamente. Cada um dos encadeamentos do processo compartilha o código do processo (cada encadeamento possui seu próprio registro de instrução) e também compartilha os dados do processo. Cada thread, no entanto, tem seu próprio segmento de pilha. A pilha de chamadas mantém o controle do ponto de retorno após uma chamada de função.
Uma máquina multi-core (com duas ou mais CPUs) não só agendará processos por meio de timeslicing. Também pode executar um thread separado por núcleo. Threads em execução em núcleos separados são (ao contrário de uma máquina de núcleo único que dá a impressão de simultaneidade com fatiamento de tempo) verdadeiramente simultânea.
O multi-threading oferece melhor desempenho no processamento de computadores. Há alguns anos, as melhorias contínuas no desempenho da CPU diminuíram (a Lei de Moore deixou de ser aplicada) e, desde então, a tecnologia de desempenho da CPU tem dirigido por tecnologias multi-core e multi-threading.