Capitolo 8. Elaborazione parallela dei dati con gli stream
Questo lavoro è stato tradotto utilizzando l'AI. Siamo lieti di ricevere il tuo feedback e i tuoi commenti: translation-feedback@oreilly.com
Il nostro mondo è estremamente concorrente e parallelo; possiamo quasi sempre fare più cose contemporaneamente. I nostri programmi devono risolvere un numero sempre maggiore di problemi ed è per questo che anche l'elaborazione dei dati spesso trae vantaggio dall'essere parallela.
Nel Capitolo 6 hai imparato a conoscere gli Stream come pipeline di elaborazione dei dati costruite con operazioni funzionali. Ora è il momento di andare in parallelo!
In questo capitolo imparerai l'importanza della concorrenza e del parallelismo, come e quando usare gli Stream paralleli e quando non usarli. Tutto ciò che hai imparato nei due capitoli precedenti sull'elaborazione dei dati con gli Stream si applica anche all'uso di questi ultimi per l'elaborazione parallela. Ecco perché questo capitolo si concentrerà sulle differenze e sulle complessità degli Stream paralleli.
Concorrenza contro parallelismo
I termini parallelismo e concorrenza vengono spesso confusi perché i concetti sono strettamente correlati.Rob Pike, uno dei co-progettisti del linguaggio di programmazione Go, ha definito i termini in modo chiaro:
La concorrenza riguarda la gestione di molte cose contemporaneamente, mentre il parallelismo riguarda l'esecuzione di molte cose contemporaneamente. Le idee sono ovviamente correlate, ma una ...