Non è detto che sia facile e/o sensato. Molti algoritmi sono strettamente sequenziali, e altri, anche se sono parallelizzabili in linea di principio, si complicano molto.Originariamente inviato da peruzzo
Se prendo un processore come questo:
http://ark.intel.com/it/products/636...up-to-3_80-GHz
posso suddividere il programma in 12 thread?
I thread vengono fatti girare a turno (questo comunque accade comunque, dato che ci sono normalmente molti più processi - e quindi thread - in esecuzione di quanti core non ci siano). Ovviamente un algoritmo parallelizzato in esecuzione su un singolo core incorre in un certo overhead (dovuto al context switch e/o alle strutture dati aggiuntive necessarie per gestire la concorrenza tra più thread) rispetto alla versione non parallelizzata.Cosa accade quando lo stesso software viene fatto girare su una cpu con 1 thread solo?
Sì.P.S.: Più avanti c'è un capitolo che si chiama "Programmazione multithread", potrebbe essere quello il capitolo che mi aiuta a capire?