T
- the type of the object managed by this initializer classpublic interface ConcurrentInitializer<T>
Definition of an interface for the thread-safe initialization of objects.
The idea behind this interface is to provide access to an object in a
thread-safe manner. A ConcurrentInitializer
can be passed to multiple
threads which can all access the object produced by the initializer. Through
the get()
method the object can be queried.
Concrete implementations of this interface will use different strategies for the creation of the managed object, e.g. lazy initialization or initialization in a background thread. This is completely transparent to client code, so it is possible to change the initialization strategy without affecting clients.
T get() throws ConcurrentException
ConcurrentInitializer
. A concrete implementation here returns the
results of the initialization process. This method may block until
results are available. Typically, once created the result object is
always the same.ConcurrentException
ConcurrentException
- if an error occurred during initialization of
the objectCopyright © 2001–2015 The Apache Software Foundation. All rights reserved.