Para utilizar todos os núcleos disponíveis, você precisa de ambos (a) suporte do sistema operacional e (b) uma carga de trabalho de aplicativo que pode aproveitar vários núcleos. O suporte do sistema operacional é um dado para todos os sistemas operacionais modernos, portanto, é necessário saber se a carga de trabalho do seu aplicativo pode aproveitar vários núcleos.
Se você estiver executando vários aplicativos simultaneamente, poderá se beneficiar de vários núcleos. Se vários programas estiverem tentando ser executados ao mesmo tempo, o sistema operacional os agendará em vários núcleos.
Se você estiver usando apenas um único aplicativo por vez, depende do aplicativo se vários núcleos o ajudarão. Em particular, depende se o aplicativo é gravado para ser multi-threaded ou single-threaded. Um aplicativo single-threaded faz apenas uma coisa de cada vez e, portanto, só pode usar um único núcleo. Um aplicativo multi-thread cria vários threads para fazer várias coisas ao mesmo tempo, permitindo que o sistema operacional agende cada thread em um núcleo diferente e, potencialmente, permitindo acelerações em um processador multicore.
Os aplicativos precisam ser especialmente projetados e escritos para usar vários encadeamentos e aproveitar vários núcleos, e muitos aplicativos comuns não se beneficiam de vários núcleos - mas alguns deles. Por exemplo, o Photoshop é escrito de forma que, se você solicitar uma tarefa computacionalmente dispendiosa, a tarefa será dividida em partes menores e distribuídas entre vários segmentos, para que possam ser executadas em vários núcleos. Isso exigiu uma programação especial dos desenvolvedores do Photoshop e exigiu muito esforço extra dos desenvolvedores, portanto, muitos ou muitos aplicativos não se preocuparam em usar esse estilo de programação e não se beneficiarão muito de uma máquina com vários núcleos - mas alguns o farão.
Dado que você tende a executar muitos programas independentes ao mesmo tempo, provavelmente verá pelo menos alguns benefícios de um processador multi-core.