package nl.uu.cs.tbijlsma.concjmeta; import static nl.uu.cs.tbijlsma.concj.Globals.getThreadManager; import nl.uu.cs.tbijlsma.concj.ConcJExclude; import nl.uu.cs.tbijlsma.concj.TLog; import nl.uu.cs.tbijlsma.concj.thread.SwitchPointMode; import nl.uu.cs.tbijlsma.concj.thread.ThreadLockingState; import nl.uu.cs.tbijlsma.concj.thread.ThreadManager; import nl.uu.cs.tbijlsma.concj.thread.ThreadState; @ConcJExclude public final class LockSupportMeta { private LockSupportMeta() { } public static void park() { park(null); } public static void park(Object blocker) { TLog.v("PARK"); ThreadManager tman = getThreadManager(); tman.switchPoint(SwitchPointMode.PARK); } public static void unpark(Thread t) { TLog.v("UNPARK"); ThreadManager tman = getThreadManager(); ThreadState ts = tman.getState(t); ThreadLockingState tls = ts.getLockingState(); tls.unpark(); } }