40 |
|
* threads invoke short read-only methods much more frequently than |
41 |
|
* fully locked methods. |
42 |
|
* |
43 |
< |
* <p> Methods {@code awaitAvailability} and {@code getSequence} can |
43 |
> |
* <p>Methods {@code awaitAvailability} and {@code getSequence} can |
44 |
|
* be used together to define (partially) optimistic read-only methods |
45 |
|
* that are usually more efficient than ReadWriteLocks when they |
46 |
|
* apply. These methods should in general be structured as loops that |
109 |
|
private static final long serialVersionUID = 7373984872572414699L; |
110 |
|
|
111 |
|
static final class Sync extends AbstractQueuedLongSynchronizer { |
112 |
< |
static final long serialVersionUID = 2540673546047039555L; |
112 |
> |
private static final long serialVersionUID = 2540673546047039555L; |
113 |
|
|
114 |
|
/** |
115 |
|
* The number of times to spin in lock() and awaitAvailability(). |
483 |
|
* the lock could be acquired |
484 |
|
* @throws InterruptedException if the current thread is interrupted |
485 |
|
* @throws NullPointerException if the time unit is null |
486 |
– |
* |
486 |
|
*/ |
487 |
|
public boolean tryLock(long timeout, TimeUnit unit) |
488 |
|
throws InterruptedException { |
508 |
|
* Throws UnsupportedOperationException. SequenceLocks |
509 |
|
* do not support Condition objects. |
510 |
|
* |
511 |
< |
* @throws UnsupportedOperationException |
511 |
> |
* @throws UnsupportedOperationException always |
512 |
|
*/ |
513 |
|
public Condition newCondition() { |
514 |
|
throw new UnsupportedOperationException(); |