Docente
|
CRESCENZI VALTER
(programma)
FONDAMENTI DI PROGRAMMAZIONE CONCORRENTE • PROCESSI SEQUENZIALI E PARALLELI • ASSUNZIONE DI PROGRESSO FINITO, FAIRNESS E STALLO • INTERFERENZA E CONDIZIONI DI BERNSTEIN • SEMAFORI DI DIJKSTRA • REGIONI CRITICHE CONDIZIONALI • MONITOR • PROBLEMI CLASSICI
PROCESSI E THREAD IN C SOTTO LINUX • CREAZIONE DEI PROCESSI: FORK() & EXEC() • MECCANISMI IPC: SEGNALI, PIPES, SHARED MEMORY, SEMAFORI • CREAZIONE DEI THREAD POSIX: PTHREAD_CREATE() • STRUMENTI DI SINCRONIZZAZIONE PER THREAD: MUTEX, VARIABILI CONDIZIONE, SEMAFORI • THREAD SPECIFIC DATA • PROGRAMMAZIONE CLIENT / SERVER IN C SOTTO LINUX (RIEPILOGO) • SOCKET • PROGRAMMAZIONE DI PROTOCOLLI CONNESSI • PROGRAMMAZIONE DI PROTOCOLLI NON-CONNESSI • RISOLUZIONE DI PROBLEMI DI COMPETIZIONE LATO SERVER
JAVA THREAD • CREAZIONE THREAD IN JAVA • JAVA MONITOR • COOPERAZIONE E SINCRONIZZAZIONE THREAD IN JAVA CON WAIT() & NOTIFY() • TECNICHE DI PROGRAMMAZIONE THREAD-SAFE • IL PACKAGE JAVA.UTIL.CONCURRENT
ARGOMENTI AVANZATI • ALGORITMI NON-BLOCKING • TESTING DI APPLICAZIONI CONCORRENTI • MODELLO AD ATTORI • REACTIVE STREAMS
(testi)
BRIAN GOETZ JAVA CONCURRENCY IN PRACTICE - ADDISON WESLEY DOUG LEA. CONCURRENT PROGRAMMING IN JAVA SECONDA ED. - ADDISON WESLEY MAURICE HERLIHY, NIR SHAVIT THE ART OF MULTIPROCESSOR PROGRAMMING - MORGAN KAUFMANN
|