"Se si dispone di un'applicazione a thread singolo che viene eseguita su un server con un processore multi core, l'applicazione utilizza sempre solo uno dei processori?" Non si indica quanti processori ha il server, quindi potrebbe essere che ci sia un solo processore ma con più core e quindi solo un processore viene utilizzato come non ci sono altri processori da utilizzare. L'avvertimento qui è di fare attenzione alla differenza tra il numero di core e il numero di processori in quanto c'è qualcosa da dire per quale prospettiva stai facendo la domanda. Ad esempio, un singolo processore quad-core non è lo stesso di 2 processori dual-core e quindi consiglierei cautela nella scelta delle parole in quanto core e processore non sono termini intercambiabili per me.
Se ci sono più istanze in processi diversi, allora dovrebbero essere eseguiti in spazi di indirizzi diversi nella memoria sarebbe la mia ipotesi, ma questo è più che altro del sistema operativo.
Qualcosa da considerare qui è che tipo di moduli stai usando qui: Winform o Webform? Se quest'ultimo, anche se ogni pagina può utilizzare un singolo thread, il pool di applicazioni utilizzato da IIS potrebbe avere più thread e quindi il codice viene eseguito su più core. Se si tratta di un'applicazione Winforms, non conosco la risposta.
L'introduzione di Threading può o no incoraggiare il sistema operativo a utilizzare altri processori, in quanto esiste il concetto di Calcolo simultaneo che può complicare la domanda in quanto può esserci l'apparenza di un'esecuzione parallela. Quindi si potrebbero inserire più thread, ma questo può ancora essere eseguito sullo stesso processore.