Bonjour à tous.
Je n'est jamais utilisé (explicitement) de threads jusqu'à maintenant, et je suis conscient que c'est une sacrée lacune.
Je me suis donc mis à étudier leur fonctionnement, mais un flou persiste sur le mot-clé Synchronized.

1èrement, je n'ai pas trouvé de récapitulatif sur les différentes portées du mot-clé :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
// 1er cas :
Synchronized Objet o;

// 2ème cas :
void uneMethode() {
     //instructions

     Synchronized (unObjet) {//instructions}

     // insrtuctions
}

// 3ème cas :
Synchronized void autreMethode() {//instructions}
Est-ce tout ??

Appliqué à une méthode (y compris Static), j'en ai compris le fonctionnement, la documentation ne manque pas à ce propos. Mais dans les autres cas, je n'ai pas trouvé grand chose, et ne sais pas sur quoi et comment s'applique le verrou...

Quelqu'un pourrait-il me dire où trouver un résumé de tout cela (ou m'en faire un ) ?

Autre petite question, avec Java 5.0 et notamment le package java.util.concurrent, n'est-on pas appelé à se passer de Synchronized ?