[Pattern]PB sur Singleton multi-thread
Bonjour,
Une petite question j'ai essayé d'implémenter un singleton avec la classe ThreadLocal malheureusement ça ne fonctionne pas correctement: plusieurs instances sont créées quand je lance une multitude de threads
Où est l'erreur. Merci pour vos lumières:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
| public final class BeansPool {
private static ThreadLocal<BeansPool> _singleton = new ThreadLocal<BeansPool>();
/**
* @return
* @throws Exception
*/
public final static BeansPool getInstance() throws Exception {
BeansPool pool = _singleton.get();
if (pool == null) {
System.out.println("New !!!");
pool = new BeansPool();
_singleton.set(pool);
}
return pool;
}
} |
A+