public void awaitNewBarrier() { Barrier barrier = newBarrier(); barrier.issue(); barrier.await(); }
public Ref<T> ref() { Ref<T> ref = tryRef(); // TODO: print the last release as well as the release here if (ref == null) state.assertNotReleased(); return ref; }
public boolean checkAndClear() { for (Signal signal : signals) signal.checkAndClear(); return isSignalled(); }
void awaitSyncAt(long syncTime, Context context) { do { WaitQueue.Signal signal = context != null ? syncComplete.register(context) : syncComplete.register(); if (lastSyncedAt < syncTime) signal.awaitUninterruptibly(); else signal.cancel(); } while (lastSyncedAt < syncTime); }
/** * wrap the provided signal to also be signalled if the operation gets marked blocking */ public WaitQueue.Signal isBlockingSignal(WaitQueue.Signal signal) { return WaitQueue.any(signal, isBlockingSignal()); }
public Ref(T referent, Tidy tidy) { this.state = new State(new GlobalState(tidy), this, referenceQueue); this.referent = referent; }
public void awaitNewBarrier() { Barrier barrier = newBarrier(); barrier.issue(); barrier.await(); }
void awaitSyncAt(long syncTime, Context context) { do { WaitQueue.Signal signal = context != null ? syncComplete.register(context) : syncComplete.register(); if (lastSyncedAt < syncTime) signal.awaitUninterruptibly(); else signal.cancel(); } while (lastSyncedAt < syncTime); }
/** * wrap the provided signal to also be signalled if the operation gets marked blocking */ public WaitQueue.Signal isBlockingSignal(WaitQueue.Signal signal) { return WaitQueue.any(signal, isBlockingSignal()); }
public Ref(T referent, Tidy tidy) { this.state = new State(new GlobalState(tidy), this, referenceQueue); this.referent = referent; }
public Ref<T> ref() { Ref<T> ref = tryRef(); // TODO: print the last release as well as the release here if (ref == null) state.assertNotReleased(); return ref; }
public boolean checkAndClear() { for (Signal signal : signals) signal.checkAndClear(); return isSignalled(); }
public void awaitNewBarrier() { Barrier barrier = newBarrier(); barrier.issue(); barrier.await(); }
/** * wrap the provided signal to also be signalled if the operation gets marked blocking */ public WaitQueue.Signal isBlockingSignal(WaitQueue.Signal signal) { return WaitQueue.any(signal, isBlockingSignal()); }
public Ref(T referent, Tidy tidy) { this.state = new State(new GlobalState(tidy), this, referenceQueue); this.referent = referent; }