Hi,
Vincent Massol napsal(a):
Hi,
I think we might need to review our singleton components (i.e. all of
them ;)) for sync. issues.
For example take DefaultObservationManager:
private Map<String, List<RegisteredListener>> listeners = new
HashMap<String, List<RegisteredListener>>();
It has for ex a addListener() method.
Imagine several threads all calling addListener().
Since HashMap is not synchronized this can cause problems.
Thus shared objects should all be synchronized or they should only be
filled once (as in an initialize method for ex).
I prefer more general term "thread safe" then restrictive
"synchronized". Some structs are
thread safe without synchronization/locking (partly ConcurrentHashMap from JSE 5.0).
Zdenek Machac
WDYT? Do you agree there's a potential bug in the
case above?
Thanks
-Vincent
_______________________________________________
devs mailing list
devs(a)xwiki.org
http://lists.xwiki.org/mailman/listinfo/devs