Risposta breve: non puoi, ma...
Risposta lunga:
Puoi programmare un software separandone le funzioni (Input, Rendering, Processing, ecc...) su thread separati, ma sarà il sistema operativo (precisamente lo "Scheduler" dello stesso) a decidere quali core occupare. Hai comunque una discreta garanzia che il Sistema Operativo sia sufficientemente intelligente da gestire al meglio l'allocazione dei core. Se fossi tu a decidere quali core utilizzare dovresti costantemente monitorarne il carico e prevedere delle strane e complesse procedure per migrare da un core all'altro nel momento in cui i carichi subiscano delle modifiche. Lasciandosi, invece, gestire dal SO hai tutto questo in modo trasparente (compresa la migrazione tra i core) e devi "solo" occuparti di creare e sincronizzare i vari thread (che già non è una cosa semplice per un esperto, figuriamoci per un principiante).
Questo vale per tutti i programmi, indipendentemente dal linguaggio utilizzato.
|