|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Dec 2004
Città: Napoli
Messaggi: 342
|
[Java] synchronized
Salve, se definisco un metodo public synchronized method(), un thread che chiama tale metodo ha il lock sul solo metodo o sulla classe alla quale appartiene lo stesso metodo? Ovvero se il thread t chiama method, gli altri metodi della classe potranno essere eseguiti da altri thread mentre t è in esecuzione in method?
__________________
Il futuro lo conoscerete quando sarà arrivato, prima di allora dimenticatelo. (Eschilo) Ultima modifica di osa : 04-06-2006 alle 12:30. |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Feb 2003
Città: GE
Messaggi: 397
|
Spero di non dire grosse fesserie, ma quando un thread chiama method acquisisce il lock sull'intero oggetto (non sulla classe).
Comuqnue se fai un pò di ricerche potresti averlo spiegato meglio (dovrebbe essere liberamente scaricabile un capitolo dell'Horstman Cornell su java5). Saluti
__________________
La supposizione e' la madre di tutte le ca**ate! |
|
|
|
|
|
#3 | |
|
Senior Member
Iscritto dal: Dec 2004
Città: Napoli
Messaggi: 342
|
Quote:
__________________
Il futuro lo conoscerete quando sarà arrivato, prima di allora dimenticatelo. (Eschilo) |
|
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
|
E aggiungo io che se un thread ha il lock sull'oggetto perché sta eseguendo un suo metodo synchronized, altri thread non possono eseguire alcun metodo synchronized su quell'oggetto ma possono però eseguire gli altri eventuali metodi non synchronized dell'oggetto.
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%) |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 01:13.


















