Valutazione 4.87/ 5 (100.00%) 5838 voti

Condividi:        

JAVA - esercizio sui thread

Problemi di HTML? Di PHP, ASP, .NET, JSP, Perl, SQL, JavaScript, Visual Basic..?
Vuoi realizzare programmi in C, C++, Java, Ruby o Smalltalk, e non sai da che parte cominciare?
Entra qui e troverai le risposte!

Moderatori: Triumph Of Steel, archimede

JAVA - esercizio sui thread

Postdi uranya » 13/04/07 21:32

per favore datemi una mano con questo esercizio è l'ennesima volta che provo a rifarlo senza successo.
Ho bisogno dell'implementazione completa perchè ho difficoltà con la sintassi Java e non sarei in grado di tradurre eventuale pseudo codice in linee di codice. Grazie infinite:
Corstuire un programma in linguaggio java che, attraverso l’uso dei thread e della mutua esclusione, realizza il gioco Occupa-Sedia. Il gioco consiste nell’avere un certo numero K di sedie ed un numero N di persone con N>K ed un arbitro. Quando l’arbitro da il via le N persone partono contemporaneamente da una stessa posizione e cercano di occupare una sedia. Dopo ogni sessione del gioco, solo le K persone che sono riuscite a sedersi ricevono un punto.
In pratica, occorre definire una classe Sedia per modellare un oggetto sedia che può trovarsi in due possibili stati: libera o occupata. I metodi di tale classe devono consentire di rilevare lo stato della sedia, di occuparla e di conoscere il nome dell’eventuale occupante. Occorre inoltre definire una classe Occupa-Sedia con attributi per rappresentare il numero di partecipanti, il numero di sedie disponibili ed il numero di sessioni previste per una determinata istanza del gioco. Occorre definire una struttura dati per modellare la sequenza di K sedie disponibili ed una per modellare gli N partecipanti al gioco. Sia le sedie che le persone devono essere identificabili tramite un nome (si può usare anche un sequenziale sedia1, sedia2, …, persona1, persona2,…).
Il metodo main dovrà creare un’istanza del gioco, chiedendo all’utente di fornire in input i parametri della stessa (N, K ed il numero di sessioni) ed avviare il gioco. Il tentativo da parte delle N persone di occupare ciascuno una sedia dovrà essere modellato tramite N Thread e tutti dovranno (in teoria) essere avviati “contemporaneamente” (suggerimento: si potrebbero usare wait e NotifyAll). L’accesso dei thread alla struttura dati che modella la sequenza di sedie dovrà essere gestito in modo mutuamente esclusivo, attraverso l’uso di meccanismi di sincronizzazione.
Il risultato finale dovrà consistere nella stampa dei risultati delle varie sessioni di un’istanza del gioco (indicando da chi è occupata ciascuna sedia) unitamente alla classifica finale con i punteggi riportati da ciascuna persona (numero di volte in cui è riuscito a sedersi).

uranya
Utente Junior
 
Post: 16
Iscritto il: 18/02/06 20:37

Sponsor
 

Postdi BianConiglio » 14/04/07 00:08

A parte il design orribile che ti viene imposto.. qual'e' il problema che non riesci a superare?

Si parla di un compito/progetto universitario? Una cosa simile l'avevo fatta tempo fa, in 4 giorni, come assignment universitario (una simulazione di acquario dove ci sono 3 feeding stations e molti pesci che vogliono mangiarci, e la simulazione dei filosofi mangianti)

ACQUARIO:
http://atelier.inf.unisi.ch/~malnatij/a ... I/gui.html

Immagine

FILOSOFI: (sono i miei prof nell'applet :))
http://atelier.inf.unisi.ch/~malnatij/p ... d/3rd.html

Immagine

Se hai problemi con la sintassi Java direi che capire come farlo, implementare la mutual exclusion (puoi usare il synchronize o la devi implementare tu?) e tutto il resto, mi pare improbabile..

8) Il tuo assignment e' una versione mooooolto semplificata dei miei vecchi, certo che il mondo e' pieno di gente che, se pagata, farebbe questo compitino per te :D :D
BianConiglio
Utente Senior
 
Post: 4710
Iscritto il: 26/12/01 01:00
Località: Varese / Lugano

Postdi uranya » 14/04/07 11:34

Io una versione fatta ce l'ho..il problema è che non riesco a rendermi conto dove sta il problema...non capisco perchè non funziona.
Se vuoi te la posto così ci dai un occhiata e magari (visto che ti sembra facile) puoi darmi una mano.
Grazie

PS: si tratta solo di un homework (dell'anno scorso) che sto tentando di svolgere per conto mio per capire come funzionano i thread.
uranya
Utente Junior
 
Post: 16
Iscritto il: 18/02/06 20:37

Postdi BianConiglio » 14/04/07 15:16

il problema quindi qual'e'?
BianConiglio
Utente Senior
 
Post: 4710
Iscritto il: 26/12/01 01:00
Località: Varese / Lugano


Torna a Programmazione


Topic correlati a "JAVA - esercizio sui thread":

web scraping in java
Autore: templare77
Forum: Programmazione
Risposte: 1

Chi c’è in linea

Visitano il forum: Nessuno e 1 ospite