| | | corso | | | | |
Laboratorio di programmazione concorrente B
Codice: | AA011 | Crediti: | 4 | Semestre: | 1 | Sigla: | LPc | |
|
Settore disciplinare: | INF/01 - Informatica |
Docente
Fabrizio Silvestri
Tel. 0503153011Prerequisiti
Laboratorio 1 e 2
Obiettivi di apprendimento
Introduzione alla programmazione concorrente con Java (modelli ad ambiente locale e ad ambiente globale)
Descrizione
Scopo del corso è quello di introdurre la programmazione concorrente in ambiente Java. Verranno trattati sia aspetti di programmazione concorrente ad ambiente locale, con l'utilizzo della libreria Java JCSP (implementazione Java di CSP, Università di Kent), che aspetti di adi programmazione concorrente ad ambiente globale, mediante l'utilizzo di Java Threads. Il corso mette in risalto gli aspetti pratici degli argomenti trattati. Le esercitazioni pratiche sono tenute in un'aula appositamente attrezzata con personal computer.
Programma
- Programmazione concorrente a processi Introduzione al concetto di processo, Attivazione di processi indipendenti mediante comando parallelo. Comunicazione fra processi (sincrona, simmetrica). Nondeterminismo e comando alternativo. Riconoscimento di forme tipiche di cooperazione fra processi: cliente/servente, pipeline di processi, produttore/consumatore.
- Programmazione concorrente con thread Concetto di thread. Accesso alle informazioni condivise fra thread. Meccanismi di sincronizzazione: monitor come classe synchronized, meccanismi di wait e notify (notifyall).
- Processi e thread Realizzazione di un processo parallelo mediante thread. Effetti della coesistenza di cooperazione ad ambiente globale (intera al processo) e locale (con gli altri processi).
Bibliografia
- Marco Danelutto, JCSP (Dispensa SEU).
- Gianluigi Ferrari, Java Threads: Una nota introduttiva.
- Wong Oaks, Java Thread. ÒReilly.
Modalità di esame
Scritto e orale