
Envoyé par
thelvin
Non, cela ne marche pas*. Le Double Check Lock ne marche pas.
Le instanced qui est hors du synchronized pourrait être lu true alors que le thread chargé de le mettre à true n'a pas encore fini l'opération globale non-atomique de contrsuire l'instance et mettre instanced à true.
Cela parce que la lecture/écriture de instanced n'est pas synchronisée.
* Je dis "ça ne marche pas," je veux dire "la synchronisation n'est pas faite, et un problème peut survenir. Mais c'est rare à l'usage."
fait, on renvoie l'instance.
.
Partager