AppletTalk.com Forum Index AppletTalk.com
Java discussions newsgroups
 
Archives   FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

synchronized e static

 
Post new topic   Reply to topic    AppletTalk.com Forum Index -> Java (Italian)
View previous topic :: View next topic  
Author Message
Guest






PostPosted: Fri Oct 27, 2006 3:11 pm    Post subject: synchronized e static Reply with quote



salve a tutti...

ho alcuni thread che eseguono, di tanto in tanto, blocchi synchronized
esegundo il lock su uno specifico Object obj creato appositamente per
gestire wiat e notify.

Ho inoltre una classe di utilità Util con solo metodi static (NON
synchro nota bene) che mi eseguono qualche lavoretto su stringhe e
date....

Domanda:

Se dall'interno dei blocchi synchro (che ripeto lockano su un certo
obj) faccio chiamate ai metodi static su Util, ho problemi di
concorrenza?? Cioè i vari thread che stanno girando devono accodarsi
per accedere alle utilità statiche o possono eseguirle
contemporanemente?

Spero di essermi spiegato...

ciao e grazie
Back to top
Vincent Vega
Guest





PostPosted: Fri Oct 27, 2006 3:25 pm    Post subject: Re: synchronized e static Reply with quote



batt...@hotmail.com ha scritto:


Quote:
Se dall'interno dei blocchi synchro (che ripeto lockano su un certo
obj) faccio chiamate ai metodi static su Util, ho problemi di
concorrenza?? Cioè i vari thread che stanno girando devono accodarsi
per accedere alle utilità statiche o possono eseguirle
contemporanemente?

Potresti avere problemi di concorrenza. Per esempio, se questi metodi
statici sono richiamati anche da altri oggetti synchronized e non,
perchè comunque non sarebbe rispettato il lock. Finchè questi metodi
sono richiamati dentro lo stesso oggetto e in blocchi synchronized
l'accesso ai metodi è in qualche modo regolato, ma è una
sincronizzazione indiretta.

E poi c'è un'altro problema: qual'è la ragione per cui vuoi
"regolare" l'accesso a questi metodi? Se è, per esempio, perchè hai
delle variabili statiche condivise nella classe Util ricordati che
quelle non te le protegge nessuno.
Back to top
Guest






PostPosted: Fri Oct 27, 2006 8:06 pm    Post subject: Re: synchronized e static Reply with quote



Vincent Vega ha scritto:

Quote:
batt...@hotmail.com ha scritto:


Se dall'interno dei blocchi synchro (che ripeto lockano su un certo
obj) faccio chiamate ai metodi static su Util, ho problemi di
concorrenza?? Cioè i vari thread che stanno girando devono accodarsi
per accedere alle utilità statiche o possono eseguirle
contemporanemente?

Potresti avere problemi di concorrenza. Per esempio, se questi metodi
statici sono richiamati anche da altri oggetti synchronized e non,
perchè comunque non sarebbe rispettato il lock. Finchè questi metodi
sono richiamati dentro lo stesso oggetto e in blocchi synchronized
l'accesso ai metodi è in qualche modo regolato, ma è una
sincronizzazione indiretta.

non mi è chiaro questo passaggio... perdonami...

Quote:
E poi c'è un'altro problema: qual'è la ragione per cui vuoi
"regolare" l'accesso a questi metodi? Se è, per esempio, perchè hai
delle variabili statiche condivise nella classe Util ricordati che
quelle non te le protegge nessuno.

Non lo voglio regolare.... Wink
vorrei prprio il contrario, cioè:
nonostante ci siano thread che lockano e unlockano delle ben
determinate risorse,
vorrei però dall'interno dei blocchi synchro poter usufruire delle
utilità (metodi statici di Util) senza che tali metodi statici
facciano da collo di bottiglia...

Cerco di ridirlo meglio:
visto che i thread che ho costruito lavoarno contemporaneamente senza
alcun problema e si sincronizzano dove voglio correttamente, non vorrei
però che l'accesso contemporaneo a metodi statici (nonostante NON
siano synchro) faccia accodare i thread...

in definitiva potrei rissumere grossolanamente così:
un metodo statico può "servire" più thread contemporaneamente, o
mentre c'è un thread "sopra" gli altri devono attendere???

Ciao e grazie di nuovo
Back to top
Display posts from previous:   
Post new topic   Reply to topic    AppletTalk.com Forum Index -> Java (Italian) All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2006 phpBB Group
SEO toolkit © 2004-2006 webmedic.