method synchronized et heritage
J'ai une class Lock,
j'ai une class A extends Lock,
toutes les méthodes de A sont écrit de la manière suivante:
public void synchronized maMethode(){ }
j'ai une class B extends Lock,
toutes les méthodes de B sont aussi synchronized.
donc je précise quelque chose:
Code:
1 2
|
public void synchonized maMethode(){ } |
est équivalent à :
Code:
1 2 3 4 5 6
|
public void maMethode(){
synchronized(this){
...
}
} |
Est ce que une methode de A peut commencer sont execution, puis laisser la main a une méthode B?
ou dois-je écrire ?
Code:
1 2 3 4 5 6
|
public void maMethode(){
synchronized(super){
...
}
} |
sachant que les deux extends de Lock
je progress mais je ne sais pas si c'est correct
Code:
1 2 3
| public class Lock{
protected static Object lock = new Object();
} |
dans la class A et B:
Code:
1 2 3 4 5 6
|
public void mamethod(){
synchronized(lock){
}
} |
je crois que sa marche de cette maniere
non?