From Agentgroup
Revision as of 16:11, 30 November 2015 by Galassi (Talk | contribs) (Esercizi con synchronized)

Jump to: navigation, search

Esercitazioni

Ogni settimana verranno aggiunti in questa pagina gli esercizi proposti a lezione (venerdì mattina in laboratorio LINFA) e la soluzione agli esercizi della settimana precedente.

Informazioni sul docente

Dall'A.A. 2015-16

Galassi Marco

Negli A.A. precedenti

Ph.D. Ricercatrice Mariachiara Puviani

Guida Eclipse

Eclipse

Classi utili

Package Monitor

Il package monitor è da inserire in ogni progetto per il suo corretto funzionamento

Package JAR

Package Jar

Singoli File

Monitor

Cond

Urgent

Mutex

Template

TemplateMain

TemplateProcesso

TemplateMonitor

Esercizi

Il testo e le soluzioni agli esercizi di laboratorio saranno pubblicati di settimana in settimana prima delle esercitazioni, in modo da dare agli studenti la possibilità di guardarli prima delle lezioni di laboratorio.

Esercizi con synchronized

Gli esercizi seguenti sono realizzati con i costrutti di sincronizzazione nativi di Java: synchronized, wait(), notify() e notifyAll().

Qualunque studente trovi errori nel codice è fortemente invitato a comunicarmelo :)

Il codice degli esercizi si trova su GitHub a questo indirizzo: non è necessario creare Account né effettuare Login: il repository è pubblico(read-only).

Potete liberamente scaricare il codice usando git oppure direttamente come file compresso .zip. Attenzione: di default si è posizionati sul branch Master, cambiarlo se serve. Inoltre, il codice è stato scritto usando l'IDE IntelliJ, e potrebbero quindi esserci problemi nell'importarlo in Eclipse direttamente: in questo caso, semplicemente copiare ed incollare i file dentro un progetto Eclipse creato da voi risolve il problema.

Per ogni problema non esitate a contattarmi.

Marco Galassi


Letture Utili

Passaggio per riferimento/valore in Java: link (StackOverflow)

Java Concurrency Tutorial: link

Java Thread Documentation: link


Testi esercizi

Esercizio ponte: testo esercizio

Esercizio deposito bagagli: testo esercizio

Esercizio pizzeria: testo esercizio

Esercizio stazione ferroviaria: testo esercizio

Esercizio traghetto: testo esercizio



Esercizi vecchi

Esercizi vecchi realizzati con il package monitor.

Esercitazione 1 (Ponte)

30/10/15

Testo degli esercizi: Ponte.pdf


Codice della soluzione es.1 Ponte Semplice:

ProvaPonte (main)

Ponte (interfaccia -opzionale-)

PonteSemplice (monitor)

Auto (processo)


Codice della soluzione es.2 Ponte con capacità limitata: (i file Auto e Ponte sono uguali a quelli dell'esempio precedente)

ProvaPonteCap (main)

PonteCap (monitor)


Codice della soluzione es.3 Ponte con capacità limitata e senza starvation: (i file Auto e Ponte sono uguali a quelli dell'esempio precedente)

ProvaPonteCapStar (main)

PonteCapStar (monitor)


Codice della soluzione es.4 Ponte con capacità limitata e macchine con peso:

ProvaPontePeso (main)

PonteMioPeso (monitor)

AutoPesante (processo)

Esercitazione 2 (Deposito bagagli e Pizzeria al taglio)

13/11/15

Testo degli esercizi: Es2.pdf

Codice della soluzione es.1 Deposito bagagli:

DepositoBagagli (monitor)

ProvaBagagli (main)

UtenteBagaglio (processo)


Codice della soluzione es.2 Pizzeria al taglio

Pizzeria (monitor)

Prova (main)

Cliente (processo)

Fattorino (processo)

Pizzaiolo (processo)


Esercitazione 3 (Raccolta differenziata e Giostra)

27/10/14

Testo degli esercizi: Es3.pdf


Codice della soluzione es.1 Raccolta differenziata:

CentroRifiuti (monitor)

ProvaRifiuti (main)

Camion (processo)

Cittadino (processo)


Codice della soluzione es.2 Giostra:

Giostra

ProvaBambino

Bambino

Giostraio


Esercitazione 4 (Elezioni e Pronto soccorso)

03/11/14

Testo degli esercizi: Es4.pdf


Codice della soluzione es. 1 Elezioni:

MonitorSistemaElettorale (monitor)

ProvaElezioni (main)

Elettore (processo)

Candidato (processo)

Prefetto (processo)


Codice della soluzione es. 2 Pronto Soccorso

PS (monitor)

ProvaPS (main)

Paziente (processo)


Esercitazione 5 (Officina e Parco Giochi)

17/11/14

Testo degli esercizi: Es5.pdf


Codice della soluzione es. 1 Officina

Officina (monitor)

ProvaOfficina (main)

Operaio (processo)

Cliente (processo)


Codice della soluzione es. 2 Parco giochi

ParcoGiochi (monitor)

ProvaParco (main)

Giostra (processo)

Persona (processo)


Esercitazione 6 (Terremoto e Albergo)

24/11/14

Testo degli esercizi: Es6.pdf


Codice della soluzione es.1 Albergo:

Albergo (monitor)

ProvaAlbergo (main)

Gruppo (processo)

Persona (processo)


Codice della soluzione es.2 Terremoto:

Città (monitor)

ProvaCitta (main)

Cittadino (processo)

VVFF (processo)

PC (processo)


Esercitazione 7 (Negozio Cellulari e Elicottero)

01/12/2014

Testo degli esercizi: Es7.pdf

Codice della soluzione es.1 Negozio Cellulari:

Negozio (monitor)

ProvaNegozio (main)

Cliente (processo)

Negoziante (processo)


Codice della soluzione es.2 Elicottero

Elicottero

Prova_volo

Pilota

Passeggero


Centro Prelievi

Codice della soluzione es.1 Centro prelievi:

centro_prelievi (monitor)

prova_prelievi (main)

persona (processo)

medico (processo)


Ferrovia

Codice della soluzione es.2 Ferrovia:

MonitorStazione (monitor)

ProvaStazioneFerroviarie (main)

Treno (processo)

Passeggero (processo)

Ambasciata

Codice della soluzione es.1 Ambasciata:

Ambasciata (monitor)

ProvaAmbasciata (main)

Persona (processo)

Ambasciatore (processo)

Addetto (processo)


Museo

Codice della soluzione es.2 Museo:

Museo (monitor)

ProvaMuseo (main)

Gruppo (processo)


Sala parto

Codice della soluzione es.1 Sala Parto:

Ospedale (monitor)

Prova_parto (main)

Gestante (processo)

Anestesista (processo)


Asilo

Codice della soluzione es.2 Asilo:

Asilo (monitor)

ProvaAsilo (main)

Comune (processo)

Bambino (processo)


Centro agopuntura

CantroAgopuntura (monitor)

ProvaCentro (main)

Pazienti (processo)


Distributore

Codice della soluzione es.1 Distributore:

Distributore (monitor)

Prova (main)

Cliente (processo)

Biblioteca

Biblioteca (monitor)

ProvaBiblioteca (main)

UtenteBiblioteca (processo)


Call Centre

Codice della soluzione es.2 Call Centre:

CallCentre (monitor)

ProvaCallCentre (main)

Addetto (processo)

Risponditore (processo)

Cliente (processo)


Sagra

Codice della soluzione es.1 Sagra:

Sagra (monitor)

prova_sagra (main)

Persona (processo)


Traghetto

Codice della soluzione es.1 Traghetto:

MonitorIsole (monitor)

ProvaTraghetto (main)

Auto (processo)

Traghetto (processo)


Pastificio

Codice della soluzione es.1 Pastificio:

Pastificio (monitor)

prova_pastificio (main)

Mugnaio (processo)

Contadino (processo)


Campo da golf

Codice della soluzione es.2 Campo da golf:

CampoGolf (monitor)

ProvaGolf (main)

GiocatoreGolf (processo)


Frantoio

Codice della soluzione es 2. Frantoio:

Frantoio (monitor)

ProvaFrantoio (main)

Contadino (processo)

Pressa (processo)

Parcheggio

Codice della soluzione es.2 Parcheggio:

Parcheggio (monitor)

ProvaParcheggio (main)

Autoveicolo (processo)

Ufficio postale

ufficio (monitor)

prova_posta (main)

sportello (processo)

cliente (processo)

soluzione alternativa proposta da uno studente:

Ufficio (monitor)

UfficioMain (main)

Addetto (processo)

Cliente (processo)


Lavanderia

Lavanderia

ProvaLavanderia

Cliente


Traghetto

Codice della soluzione es1. Traghetto:

MonitorIsole (monitor)

ProvaTraghetto (main)

Auto (processo)

Traghetto (processo)




Il testo e la soluzione delle prove d'esame li trovate alla pagina relativa agli esami.