Pagina 2 di 2

MessaggioInviato: 08 ago 2005, 11:19
di Carlito Brigante
The Grinder ha scritto:Quindi il tuo problema non è l'RMI ma come interagire con i Thread, cosa molto più semplice (dal punto di vista della mia esperienza) ma non banale. Più che rendere synchronized i metodi, credo sia più appropriato sincronizzare l'oggetto sul quale leggi o modifichi.

Esatto anche se non e' detto che siano thread dato che gli utenti potrebbero (Anzi e' plasusibile che sia cosi') connettersi da host differenti e quindi essere processi differenti.
Il fatto e' che l'oggetto remoto del quale ottengono un riferimento e' lo stesso per tutti e pertanto gli accessi , se non controllati, potrebbero causare corse critiche.
Quella cui fai riferimento tu dovrebbe essere la cosiddetta "sincronizzazione sui dati" la quale, pero', a mio parere e' "meno elegante" ed intuitiva della sincronizzazione sul controllo.
Il mio timore e' quello di rendere mutuamente esclusive delle operazioni che, invece, potrebbero avvenire anche in maniera concorrente senza creare problemi.
Cmq. grazie per il parere. :wink:

MessaggioInviato: 08 ago 2005, 11:53
di The Grinder
Carlito Brigante ha scritto:Il mio timore e' quello di rendere mutuamente esclusive delle operazioni che, invece, potrebbero avvenire anche in maniera concorrente senza creare problemi.


No, non credo che nella "maniera meno elegante" tu renda mutuamente esclusive quelle operazioni che possono avvenire in contemporanea senza creare problemi perchè il "lock" tu lo fissi su un oggetto alla volta. E' anche vero che tutte le altre operazioni rimangono in attesa, ma se le operazioi sono semplici è un tempo di lock trascurabile in favore della sicurezza.
Forse è meglio che definisci bene qual è la gerarchia di controlli da fare in maniera da non dover eseguire controlli inutili e quindi evitare di lockare oggetti che non ti servono.

Glad to be useful

:D