Concurrent Computing

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.1

  • 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