28package com.jogamp.common.util.locks;
30import jogamp.common.util.locks.RecursiveLockImpl01CompleteFair;
31import jogamp.common.util.locks.RecursiveLockImpl01Unfairish;
32import jogamp.common.util.locks.RecursiveLockImplJava5;
33import jogamp.common.util.locks.RecursiveThreadGroupLockImpl01Unfairish;
38 Int01(0), Java5(1), Int02ThreadGroup(2);
49 return new RecursiveLockImpl01Unfairish();
54 return new RecursiveThreadGroupLockImpl01Unfairish();
60 return fair ?
new RecursiveLockImpl01CompleteFair() :
new RecursiveLockImpl01Unfairish();
62 return new RecursiveLockImplJava5(fair);
63 case Int02ThreadGroup:
64 return new RecursiveThreadGroupLockImpl01Unfairish();
66 throw new InternalError(
"XXX");
static RecursiveThreadGroupLock createRecursiveThreadGroupLock()
default is ImplType.Int02ThreadGroup, unfair'ish (fastest w/ least deviation)
static RecursiveLock createRecursiveLock()
default is ImplType.Int01, unfair'ish (fastest w/ least deviation)
static RecursiveLock createRecursiveLock(final ImplType t, final boolean fair)
Reentrance capable locking toolkit.
Reentrance capable locking toolkit, supporting multiple threads as owner.