Takes a Resource and returns a Resource that will allocate the resource once, even if you use it multiple times.
Takes a Resource and returns a Resource that will allocate the resource once, even if you use it multiple times. It keeps track of how many users it has and releases the Resource when there are no more users.
Takes a Resource and returns a Resource that will allocate the resource once, even if you use it multiple times.
Takes a Resource and returns a Resource that will allocate the resource once, even if you use it multiple times. It keeps track of how many users it has and releases the Resource when there are no more users.
Keeps the resource around for keepAfterRelease when the last user stops using it before releasing.