elenco    
        corso    

Laboratorio di programmazione concorrente B

Codice: AA011Crediti: 4Semestre: 1Sigla: LPc 
 
Settore disciplinare: INF/01 - Informatica

Docente

Stefano Chessa   ste @di.unipi.it  Home Page di Stefano Chessa  Stanza 321  Tel. 0502213122

Prerequisiti

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 ambiente locale, con l'utilizzo della libreria Java JCSP (implementazione come libreria Java di CSP, Università di Kent), che aspetti di 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.

English Description

The course introduces to the concurrent programming under the JAVA framework. Both the shared memory and the message passing communication paradigms will be presented, referring to the JCSP library (a library implementing CSP under JAVA, developed by the University of Kent) and the JAVA Threads. Practical lectures will be taught in a laboratory equipped with linux machines.

Programma

a.. 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. b.. 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). c.. 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

home


email