Quelles sont les approches recommandées pour obtenir une initialisation paresseuse thread-safe ? Par exemple,
// Not thread-safe
public Foo getInstance(){
if(INSTANCE == null){
INSTANCE = new Foo();
}
return INSTANCE;
}
Quelles sont les approches recommandées pour obtenir une initialisation paresseuse thread-safe ? Par exemple,
// Not thread-safe
public Foo getInstance(){
if(INSTANCE == null){
INSTANCE = new Foo();
}
return INSTANCE;
}
class Foo {
private volatile Helper helper = null;
public Helper getHelper() {
if (helper == null) {
synchronized(this) {
if (helper == null) {
helper = new Helper();
}
}
}
return helper;
}
C'est ce qu'on appelle une double vérification ! Vérifiez ceci http://jeremymanson.blogspot.com/2008/05/double-checked-locking.html
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.