Homepage  Il progetto dsy.it è l'unofficial support site dei corsi di laurea del Dipartimento di Scienze dell'Informazione e del Dipartimento di Informatica e Comunicazione della Statale di Milano. E' un servizio degli studenti per gli studenti, curato in modo no-profit da un gruppo di essi. I nostri servizi comprendono aree di discussione per ogni Corso di Laurea, un'area download per lo scambio file, una raccolta di link e un motore di ricerca, il supporto agli studenti lavoratori, il forum hosting per Professori e studenti, i blog, e molto altro...
In questa sezione è indicizzato in textonly il contenuto del nostro forum


.dsy:it. .dsy:it. Archive > Community > Tech
 
[java] Metodo join()
Clicca QUI per vedere il messaggio nel forum
luna
Ciao!!

Qualcuno saprebbe spiegarmi come si usa questo particolare metodo in java?

Mi serve perche' sto facendo un progetto che simula una rete peer to peer e quando un peer vuole terminare, deve per prima cosa controllare che non ci siano dei peer che stanno scaricando file da lui...e credo che questo join faccia su per giu' questo!ma non so come applicarlo!

pleasseee aiutatemiii :(

Hamelin
Intendi il metodo join () della classe Thread? È semplicemente il modo in cui si impone ad un thread di attendere la terminazione di un altro thread (simile alla waitpid () in Unix per le applicazioni multi-processo in linguaggio C). Nel tuo caso, imporresti al peer di attendere la terminazione del thread che gestisce il download del file verso un altro peer... che non è esattamente quello che vuoi (credo).
La documentazione ufficiale Sun è qui.

luna
no invece è proprio quello che voglio :D non far terminare il mio peer fin quando non ha finito di fornire il file a chi ha richiesto il download..peccato che non sappia proprio come implementarlo sul mio progetto :(

Hamelin
Mah... ad ogni richiesta di download crei un nuovo thread che gestisce l'operazione. Magari memorizzi in una struttura dati (un'ArrayList, ad esempio) l'elenco dei thread/download (e li rimuovi una volta terminati). Quando poi l'utente manifesta il desiderio di chiudere il programma, iteri sulla struttura dati e fai un join per ognuno dei thread/download ancora attivi. È solo un'idea... probabilmente ce ne sono di migliori.

Comunque, ti consiglio di leggere un'introduzione al multi-threading in Java: nel capitolo corrispondente di TIJ, nel tutorial Sun o al limite qui.

luna
grazie!

Powered by: vbHome (lite) v4.1 and vBulletin v2.3.1 - Copyright ©2000 - 2002, Jelsoft Enterprises Limited
Mantained by dsy crew (email) | Collabora con noi | Segnalaci un bug | Archive | Regolamento |Licenze | Thanks | Syndacate