try { if (fair || !lock.tryLock()) { startTime = initNanoTime(timeoutNanos); for (long remainingNanos = timeoutNanos; ; ) { try { final long remainingNanos; if (startTime == 0L) { startTime = initNanoTime(timeoutNanos); remainingNanos = timeoutNanos; } else {
final long startTime = initNanoTime(timeoutNanos); boolean interrupted = Thread.interrupted(); try {
startTime = initNanoTime(timeoutNanos); if (!lock.tryLock(time, unit)) { return false;
/** * A boolean condition for which a thread may wait. A {@code Guard} is associated with a single * {@code Monitor}. The monitor may check the guard at arbitrary times from any thread occupying * the monitor, so code should not be written to rely on how often a guard might or might not be * checked. * * <p>If a {@code Guard} is passed into any method of a {@code Monitor} other than the one it is * associated with, an {@link IllegalMonitorStateException} is thrown. * * @since 10.0 */ @Beta public abstract static class Guard { @Weak final Monitor monitor; final Condition condition; @GuardedBy("monitor.lock") int waiterCount = 0; /** The next active guard */ @GuardedBy("monitor.lock") @NullableDecl Guard next; protected Guard(Monitor monitor) { this.monitor = checkNotNull(monitor, "monitor"); this.condition = monitor.lock.newCondition(); } /**
try { if (fair || !lock.tryLock()) { startTime = initNanoTime(timeoutNanos); for (long remainingNanos = timeoutNanos; ; ) { try { final long remainingNanos; if (startTime == 0L) { startTime = initNanoTime(timeoutNanos); remainingNanos = timeoutNanos; } else {
final long startTime = initNanoTime(timeoutNanos); boolean interrupted = Thread.interrupted(); try {
startTime = initNanoTime(timeoutNanos); if (!lock.tryLock(time, unit)) { return false;
try { if (fair || !lock.tryLock()) { startTime = initNanoTime(timeoutNanos); for (long remainingNanos = timeoutNanos;;) { try { final long remainingNanos; if (startTime == 0L) { startTime = initNanoTime(timeoutNanos); remainingNanos = timeoutNanos; } else {
final long startTime = initNanoTime(timeoutNanos); boolean interrupted = Thread.interrupted(); try {
try { if (fair || !lock.tryLock()) { startTime = initNanoTime(timeoutNanos); for (long remainingNanos = timeoutNanos; ; ) { try { final long remainingNanos; if (startTime == 0L) { startTime = initNanoTime(timeoutNanos); remainingNanos = timeoutNanos; } else {
try { if (fair || !lock.tryLock()) { startTime = initNanoTime(timeoutNanos); for (long remainingNanos = timeoutNanos; ; ) { try { final long remainingNanos; if (startTime == 0L) { startTime = initNanoTime(timeoutNanos); remainingNanos = timeoutNanos; } else {
final long startTime = initNanoTime(timeoutNanos); boolean interrupted = Thread.interrupted(); try {
startTime = initNanoTime(timeoutNanos); if (!lock.tryLock(time, unit)) { return false;
final long startTime = initNanoTime(timeoutNanos); boolean interrupted = Thread.interrupted(); try {
startTime = initNanoTime(timeoutNanos); if (!lock.tryLock(time, unit)) { return false;
startTime = initNanoTime(timeoutNanos); if (!lock.tryLock(time, unit)) { return false;