Class ReferenceCounted<ReleaseHelper>
java.lang.Object
org.apache.flink.runtime.asyncprocessing.ReferenceCounted<ReleaseHelper>
- Direct Known Subclasses:
RecordContext
An object that can be reference counted, the internal resource would be released when the
reference count reaches zero. This class is designed to be high-performance, lock-free and
thread-safe.
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionintprotected abstract voidreferenceCountReachedZero(ReleaseHelper releaseHelper) A method called when the reference count reaches zero.intrelease()intrelease(ReleaseHelper releaseHelper) intretain()intTry to retain this object.
-
Constructor Details
-
ReferenceCounted
public ReferenceCounted(int initReference)
-
-
Method Details
-
retain
public int retain() -
tryRetain
public int tryRetain()Try to retain this object. Fail if reference count is already zero.- Returns:
- zero if failed, otherwise current reference count.
-
release
public int release() -
release
-
getReferenceCount
public int getReferenceCount() -
referenceCountReachedZero
A method called when the reference count reaches zero.
-