code: private void tryReactivate(WorkQueue w, WorkQueue[] ws, int r) {
          long c; int sp, wl; WorkQueue v;
          if ((sp = (int)(c = ctl)) != 0 && w != null &&
              ws != null && (wl = ws.length) > 0 &&
              ((sp ^ r) & SS_SEQ) == 0 &&
              (v = ws[(wl - 1) & sp]) != null) {
              long nc = (v.stackPred & SP_MASK) | (UC_MASK & (c + AC_UNIT));
              int ns = sp & ~UNSIGNALLED;
              if (w.scanState < 0 &&
                  v.scanState == sp &&
                  U.compareAndSwapLong(this, CTL, c, nc)) {
                  v.scanState = ns;
                  LockSupport.unpark(v.parker);
              }
          }
      }
docs: With approx probability of a missed signal, tries (once) to
  reactivate worker w (or some other worker), failing if stale or
  known to be already active.
  
  @param w the worker
  @param ws the workQueue array to use
  @param r random seed