- Ressources
- Langages
- Java
- Les collections
- Conversion & Casting
- Dates
- Tableau
- Bytes
- Formatage
- Traitement de fichiers
- Erreurs
- Le fichier Manifest
- Servlet
- EJB 2.x
- EJB 3.x
- JNDI
- Les méthodes
- Les Threads
- Les Opérateurs
- Les Mots clés
- MOM - JMS
- Class loader
- Garbage Collector
- Les transactions
- Les primitives
- Les expressions régulières
- Les annotations
- Les génériques
- CDI
- Java
Les mots clés réservés
synchronized
Mot clé permettant de "protéger" (poser un verrou) une partie de code afin qu'elle ne puisse être accédée par plus d'un thread en même temps.
public void synchronized methode(){
String msg = "2 thread ne peuvent pas appeler cette méthode en même temps" ;
System.out.println(msg);
}
ce qui est équivalent d'ailleurs à :
public void methode(){
synchronized(this){
String msg = "2 thread ne peuvent pas appeler cette méthode en même temps" ;
System.out.println(msg);
}
}
Si la méthode est static, voici son équivalent :
public class MaClass {
public static void methode() {
synchronized(MaClass.class) {
// code
}
}
}
Utilisé sur un objet, voici ce que ca donne :
synchronized(monObjet) {
// code
}
volatile
volatile indique qu'une variable de classe ne peut être modifiée de manière asynchrone dans un environnement multiprocesseur.