Hi Moh,
On 10/1/2015 10:28 AM, Rezaei, Mohammad A. wrote:
The proposed API makes good sense for what I would consider coarse grained
cleanup.
There is another significant use case for Weak/Soft references that is not
covered here: weak/soft references used in cache like data structures, e.g.
WeakHashMap.
Correct, the existing implementation handles its WeakReferences without
the need for a
second thread to be involved and avoids any resulting concurrency issues.
There is no need to reimplement classes that already handle weak and
soft references,
most have already been tuned for optimal behavior and performance.
Wouldn't there be significant code reuse if I could register a ReferenceQueue
and get callbacks when appropriate?
(Just like other uses of this cleaner, any user of this api has to pay
attention to concurrency, so WeakHashMap, as is, is not a great candidate for
this).
Right, any registration type of mechanism would need to be concerned
with concurrency
and with the robustness of the thread being shared to do the callbacks.
Some thread would need to wait on multiple ReferenceQueues which would
require a low level wait
for multiple locks.
Roger
Thanks
Moh
-