De meu conhecimento limitado de sistemas operacionais, acredito que o processo every tem pelo menos um thread, e são esses threads que são programados, não os processos em si. O processo simplesmente contém informações sobre o programa e os encadeamentos que ele configurou em execução. Dessa forma, um único aplicativo encadeado recebe o mesmo tratamento de um aplicativo multithread, mas o aplicativo multithread pode usar melhor os recursos.
Por exemplo, vamos assumir que temos dois processos com dois threads cada e um único aplicativo segmentado, todos trabalhando muito em um processador dual core (ou dual CPU, não faz diferença aqui)
Process A
|_Thread A-1
|_Thread A-2
Process B
|_Thread B-1
|_Thread B-2
Process C
|_Thread C
Cada thread é escalonável em todos os núcleos da CPU e a carga é balanceada pelo agendador do sistema operacional.
Se, em seguida, formos configurar a afinidade do processador para o Processo B para limitá-la a uma CPU, todos os threads desse processo também serão vinculados a essa CPU e não serão executados em nenhuma outra CPU. Fazer o mesmo com o Processo C não resultará em nenhuma mudança real, pois ele só pode ser executado em uma CPU por vez.