Mer 21 Agosto, 10:08:06 - 2019

Autore Topic: DUBBIO JAVA  (Letto 1102 volte)

0 Utenti e 1 Visitatore stanno visualizzando questo topic.

Offline GixPix

  • Studente
  • *
  • Post: 22
  • FeedBack: +3/-5
    • Mostra profilo
DUBBIO JAVA
« il: Ven 03 Febbraio, 11:59:42 - 2012 »
Vorrei che due classi  B e C appartenenti a due package differenti siano sincronizzate. Il problema che mi chiedo è se è possibile creare una classe fittizia A ,superclasse di B e C ( B extends A  e C extends A), in modo che scrivendo i metodi delle classi di B e C  synchronized questi siano sincronizzati tra loro. Un'altra idea è quella di rendere la classe B superclasse di C e fare sempre i metodi synchronized. Qualcuno può dirmi quale è la soluzione corretta o in che modo posso risolvere questo problema.

Offline dj Revolution

  • Studente
  • *
  • Post: 14
  • FeedBack: +2/-0
    • Mostra profilo
Re: DUBBIO JAVA
« Risposta #1 il: Ven 03 Febbraio, 17:31:26 - 2012 »
non è chiaro cosa vuoi fare... ma l'idea di fare una superclasse per sincronizzare i metodi non credo funzioni... i metodi sincronizzati con superclasse o senza penso abbiano la stessa funzionalità... se non sbaglio in java dovrebbero esistere delle classi particolari tipo semafori (come in C) per fare quello che tu vuoi fare...

Offline m3zz0m4tt0

  • Ricercatore
  • ****
  • Post: 251
  • FeedBack: +24/-10
    • Mostra profilo
Re: DUBBIO JAVA
« Risposta #2 il: Ven 03 Febbraio, 18:20:14 - 2012 »
per sincronizzare una classe puoi usare o la keyword synchronized o operatori tipo wait, notify ecc ecc.. prova a vedere qui. http://www.dis.uniroma1.it/~millozzi/didattica/reti200910/doc/lez3-thread.pdf
qnd ho fatto il progetto ricordo che ho usato synchronized e il prof mi disse k andava bene.
tipo un metodo di una classe puo essere "public synchronized void nome_metodo"..se nella tua classe non tutti i metodi usano degli oggetti da sincronizzare ti basta usare questa keyword sui metodi interessati..
« Ultima modifica: Ven 03 Febbraio, 18:30:54 - 2012 da m3zz0m4tt0 »

Offline RinceWind

  • Neo-Laureato
  • **
  • Post: 73
  • FeedBack: +18/-19
    • Mostra profilo
Re: DUBBIO JAVA
« Risposta #3 il: Mar 21 Febbraio, 20:00:36 - 2012 »
Vorrei che due classi  B e C appartenenti a due package differenti siano sincronizzate. Il problema che mi chiedo è se è possibile creare una classe fittizia A ,superclasse di B e C ( B extends A  e C extends A), in modo che scrivendo i metodi delle classi di B e C  synchronized questi siano sincronizzati tra loro. Un'altra idea è quella di rendere la classe B superclasse di C e fare sempre i metodi synchronized. Qualcuno può dirmi quale è la soluzione corretta o in che modo posso risolvere questo problema.

Hai messo insieme un mare di cose che neppure con molta fantasia possono coesistere. L'ereditarietà non serve a sincronizzare nulla, anzi per chiarire: l'ereditarietà non c'entra un tubo con la sincronizzazione; synchronized è una parola chiave molto importante che coinvolge concetti di sincronizzazione di thread e lock su risorse condivise. Da quanto scrivi sembra che tu non abbia la più pallida idea di cosa siano questi concetti. Inoltre hai mai vagamente sentito parlare del problema del "produttore/consumatore"? Lasciando stare java e strombolate simili, prima di affrontare cose complesse, partiamo dalle basi.

Posso capire le difficoltà sugli esami non professionalizzanti, ma cose come questa dividono un ingegnere che ha capito qualcosa da uno di quelli che ha programmato Infostud.