Quote:
Originariamente inviato da RaouL_BennetH
@Kralizek
Se l'eseguibile finale dovrà girare anche su pc con processori vecchio "stile", single core, posso comunque prendere in considerazione l'approfondire TPL ?
|
diciamo che la parallelizzazione serve solo in parte a gestire multi core. nella maggior parte dei casi serve per comunicare al SO i tempi morti e come gestirli aumentando l'efficienza dell'uso del processore quando ti viene assegnato.
Per fare un esempio:
mettiamo che fare una query al database significa compiere queste operazioni:
- inoltro del comando al server
- esecuzione del comando (eseguito sul server)
- reperimento dei risultati dal server
e che devi eseguire 4 query bene o male indipendenti tra di loro. nella programmazione classica ti troveresti ad aspettare la query n-1 prima di poter eseguire la query n.
usando un minimo di parallelismo, anche su un processore single-core, tu comunichi al sistema operativo che nei tempi morti (ad es l'esecuzione del comando) può iniziare a preparare il comando della seconda query ed inoltrarlo al database e mettersi in attesa del risultato.
spero di essere stato chiaro