Concurrent computing is a form of computing in which several computations are executed concurrently, during overlapping time periods, instead of sequentially, with one completing before the next starts.
- Processes vs Threads
Concetti di processo e di thread. Caratteristiche principali dei descrittori di un processo e di un thread. Richiami di architetture di Sistemi Operativi
- C# Threads
Creazione di un thread. Ciclo di vita di un thread. Concetto di Thread Pool. Problemi comuni alla gestione di più thread. Concetti di race condition e sezione critica. Stati transienti e interferenze
- Concurrent Programming
Tecniche di sincronizzazione tra thread. Semafori. Concetto di deadlock. Costrutti per la programmazione concorrente
- TPL
Task Parallel Library: programmazione parallela e asincrona basata su task