È possibile spostare un'applicazione (o un'attività) su un altro core per farlo funzionare più velocemente e ottenere tutta la potenza di elaborazione di quel core?
Il modo in cui capisco è che in un sistema operativo le applicazioni condividono la CPU principale e ricevono una "fetta di tempo" condivisa. Quindi se dieci applicazioni sono in esecuzione nel corso di un secondo ciascuna applicazione otterrebbe un totale di cento millisecondi. Se un computer ha più core, un'applicazione si avvierà più velocemente se la spostassi o tutti i processi in un core non utilizzato?
Ad esempio, supponiamo di creare un'applicazione desktop denominata MyNumberCruncher ©. In questo hai un compito in un ciclo for che dovrebbe teoricamente richiedere un secondo per completare. Di fatto, lo fai quando non sono in esecuzione altre applicazioni. Se hai dieci applicazioni aperte che fanno tutto da sole, l'operazione dovrebbe impiegare dieci secondi per essere completata, correggere? Se sposti quel processo nel suo core che non ha processi in esecuzione su di esso, allora dovrebbe essere necessario un secondo per completare il corretto?
Modifica
Questa domanda sta chiedendo come funziona la CPU multicore e se è possibile o una buona idea spostare un'applicazione in un secondo core e, in tal caso, perché i sistemi operativi non lo fanno ancora (o forse lo sono)?