[
https://issues.apache.org/jira/browse/LANG-609?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Henri Yandell updated LANG-609:
-------------------------------
Fix Version/s: 3.0
> Support lazy initialization using atomic variables
> --------------------------------------------------
>
> Key: LANG-609
> URL: https://issues.apache.org/jira/browse/LANG-609
> Project: Commons Lang
> Issue Type: New Feature
> Components: lang.concurrent.*
> Reporter: Oliver Heger
> Priority: Minor
> Fix For: 3.0
>
>
> In the new concurrent package there is already the {{LazyInitializer}} class
> implementing the double-check idiom for lazy initialization of instance
> fields. Another way to perform initialization lazily would be the usage of
> atomic variables. This solution would not need synchronization at all. If
> there is low contention (not many threads in parallel), it is more efficient
> than synchronized access. Its drawback is that the initialization may be done
> multiple times if multiple threads access the initializer almost at the same
> time (however, it can be guaranteed that always the same object created by
> the initializer is returned).
> This is a proposal to add an {{AtomicInitializer}} class as an alternative to
> {{LazyInitializer}} that operates on {{AtomicReference}} variables.
> In order to make the initializers smoothly exchangable, it would make sense
> for them to share a common interface. This interface could also be
> implemented by the {{BackgroundInitializer}} class.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.