Assignment: Gestione Laboratorio
Completion requirements
Opened: Thursday, 29 September 2022, 12:00 AM
Due: Wednesday, 12 October 2022, 11:59 PM
Il laboratorio di Informatica del Polo Marzotto è utilizzato da tre tipi di utenti (studenti, tesisti e professori) ed ogni utente deve fare una richiesta al tutor per accedere al laboratorio.
I computer del laboratorio sono numerati da 1 a 20.
Le richieste di accesso sono diverse a seconda del tipo dell'utente:
Scrivere un programma Java che simuli il comportamento degli utenti e del tutor.
- I professori accedono in modo esclusivo a tutto il laboratorio, poichè hanno necessità di utilizzare tutti i computer per effettuare prove in rete.
- I tesisti richiedono l'uso esclusivo di un solo computer, identificato dall'indice i, poiché su quel computer è installato un particolare software necessario per lo sviluppo della tesi.
- Gli studenti richiedono l'uso esclusivo di un qualsiasi computer.
Scrivere un programma Java che simuli il comportamento degli utenti e del tutor.
- Il programma riceve in ingresso il numero di studenti, tesisti e professori che utilizzano il laboratorio ed attiva un thread per ogni utente.
- Ogni utente accede
k
volte al laboratorio, conk
generato casualmente. - Simulare l'intervallo di tempo che intercorre tra un accesso ed il successivo e l'intervallo di permanenza in laboratorio mediante il metodo
sleep()
. - Il tutor deve coordinare gli accessi al laboratorio.
- Il programma deve terminare quando tutti gli utenti hanno completato i loro accessi al laboratorio.
- Simulare gli utenti con dei thread e incapsulare la logica di gestione del laboratorio all'interno di un monitor.