Sistemas multitarefa lidam com vários processos e threads, independentemente do número de processadores ou núcleos instalados no sistema e do número de "threads" que eles manipulam. A multitarefa funciona usando time-slicing: o kernel e todo processo ou thread em execução começa a passar algum tempo em execução, e então o sistema muda para o próximo thread executável. Os switches acontecem com muita frequência, o que dá a impressão de que tudo está funcionando em paralelo, mesmo quando não está.
Tudo isso acontece sem qualquer alteração nas APIs, etc. Os sistemas multi-core precisam ser capazes de executar mais threads do que suportam fisicamente de qualquer maneira, o caso single-core é apenas uma instância disso.
A descrição de uma CPU como single-threaded refere-se a multithreading simultâneo (SMT, ou hyper-threading no mundo da Intel) , não a capacidade da CPU de executar vários encadeamentos (ou processos ou tarefas). Adicionar recursos do SMT a uma CPU não adiciona instruções para ajudar na execução de threads, apenas permite um melhor uso do hardware em algumas circunstâncias.