Faster queue check
Intercept RejectedExecutionException
Incorporate snippets code improvements from Pavel Rappo
Don't overwrite blocker
yet another Unsafe mechanics style canonicalization
rewrite Unsafe mechanics using new objectFieldOffset overload; only create one Unsafe field per nestmate
Simplify interrupt compatibity changes
more interrupt compatibility adjustments
more interrupt compatililty
more interrupt compatilibity
more interrupt compatibility
Avoid cleanQueue unpark race
Interrupt status compatibility
More compatibility improvements
preserve signal order
Better observational compatibility with previous versions
rename setRelaxedPrev to setPrevRelaxed, setRelaxedStatus to setStatusRelaxed
reduce cancellation lag
typos
remove unused local
remove unused imports
don't extract class literal into a local
Simplify shared mode; fix cleanQueue
Improve cancellation
Minor improvements to condition waits
linting
Initial commit of AQS and related class reimplementations
8220248: fix headings in java.util.concurrent
prefer throwing ExceptionInInitializerError from <clinit> to throwing Error
Check cancellation in hasQueuedPredecessors, hasQueuedThreads
JDK-8191937: Lost interrupt in AbstractQueuedSynchronizer when tryAcquire methods throw
elide throws clause for unchecked exceptions
document that ALL Condition methods call isHeldExclusively
whitespace
improve code sample and corresponding test class
simply call isHeldExclusively() in all Condition methods
precheck that caller holds lock
whitespace
VarHandles conversion, pass 1
s~\bsun\.(misc\.Unsafe)\b~jdk.internal.$1~g; s~\bputOrdered([A-Za-z]+)\b~put${1}Release~g
add comment markers for upstream ReservedStackAccess feature
fullGetFirstQueuedThread: use idiomatic queue traversal loop
save a volatile read in initializeSyncQueue
code sample readability
use SPIN_FOR_TIMEOUT_THRESHOLD consistently
slight clarification
explain why awaitNanos(0) releases the lock
support sporadically advancing nanoTime implementations
Terminate javadoc with a period.
minor refactoring; move AQS.Node unsafe mechanics into Node class
ALL_CAPS for static finals
consistent style for <li> tags, removing </li> end tags
toString: very slightly more readable and performant
fix awaitUntil: no useless 1ms spin; wake at the same appointed time as LockSupport.parkUntil
JDK-8074773: Reduce the risk of rare disastrous classloading in first call to LockSupport.park
standardize code sample idiom: * <pre> {@code
explain findNodeFromTail's unusual loop
nano-optimize loop, expecting termination when p == node
construct Nodes with relaxed writes, piggybacking on CAS
promote comment to javadoc
consistent wording for "synchronization control" warning
standardize Unsafe mechanics; slightly smaller bytecode
use ReflectiveOperationException for Unsafe mechanics
whitespace
use p instead of t as a queue traversal loop variable
no value in having addWaiter "fall back" to enq
remove stale comment
javadoc style
push cold code into initializeSyncQueue method
standardize import statement order
delete comments no longer helpful to a 2014 reader
use preferred Unsafe coding style
Use catch (Throwable) with rethrow instead of boolean flag + finally
initialize deadline earlier, for marginally more accuracy
use rethrow(Throwable) to remove failure flag in fullyRelease
Saturate negative awaitNanos return values
time to start using diamond <>
fix broken links reported in JDK-7089615
Recheck need for signal in setHeadAndPropagate
consistent use of "@return {@code true}"
improve javadoc anchored text
javadoc link readability
javadoc link readability
javadoc link readability
close <a> tag
javadoc style
remove stale reference to param
whitespace
punctuation
<tt> -> {@code
javadoc style
spelling
whitespace
fix a javadoc @link
recompute timeout just-in-time
fix imports
optimize acquireNanos(0,unit)
remove redundant NullPointerException checks
Use spinForTimeoutThreshold in awaitNanos as well as await(long,TimeUnit)
remove redundant NullPointerException checks
s/lastTime/deadline/g
comment style
make selfInterrupt() package-private to inhibit bridge method
consistent style for code snippets
clean up imports
Update Creative Commons license URL in legal notices
80 cols
whitespace
use blessed declaration modifier order
Clarify cancelAcquire implementation
Improve internal cancelAcquire documentation
whitespace
Propagate signals on racing releaseShared -- see bug 6801020
Fix backward field read order in hasQueuedPredecessors; see bug 6803402
Sync with OpenJDK; untabify
6574123: Help implementers of fair synchronizers
javadoc coding standards
6460501: Synchronizer timed acquire still leaks memory
6503247: AQS should not handle RuntimeException during acquire specially
Improve leak avoidance for Conditions
Adjust formatting; Keep AQLS in sync
Avoid memory leak on timeouts
6404123: @link => @linkplain and other minor doc fixes
6378729: Remove workaround for 6280605
whitespace
whitespace
Incorporate suggestions in review comments
Clarify @return specs for tryAcquireShared and tryReleaseShared
Improve responsiveness to timeouts; sync up Long version
Improve spec and implementation of ReentrantReadWriteLock
whitespace
doc fixes
doc fixes
Add support for monitoring blocked synchronizers
Copyedit
Properly handle cancelled nodes in getFirstQueuedThread
Avoid gargage retention with timeouts
Simplify previous change; update package doc
Clean out cancelled nodes from condition queues; add long version of AQS
Use selfInterrupt() consistently
Wording fixes and improvements
Wording fixes and improvements
Wording improvements and fixes
Killed remnant of out-of-date wording
doc improvements; consistent conventions for nested classes
Rearrange fast paths
formatting; grammar
Simplify/shorten AQS method names
Document toString
Added toString
Javadoc fixes
Cosmetics
Documentation improvements
isFirst->getFirstQueuedThread
typo
Improve instrumentation method implementations
replace isFirst param with isFirst method
Internal documentation improvments
Tweaks
Save space in wait nodes
Better param names; simpler fairness handling
Coding improvements
Code walkthrough misc
Avoid timeout problems in fair modes; improve AQS method names
adjust initialization conditional
release relays return value
Internal method refactoring to now mirror API refactoring
AQS API improvements
Updated docs for protected methods and main class docs.
Declare subclass-defined methods as protected
Avoid cache thrashing
spellcheck
Clarify tryLock/timeout policy
Simplify AQS hook methods
Coding consistency check
Add @throws NullPointerExceptions
Consistent naming and documentation
AQS.ConditionObject back to inner class
Fix typos
AQS Condition must be static inner class; adjust accordingly
Fixed typo
Headers reference Creative Commons
Fix doc errors
Adapt to AbstractQueuedSynchronizer changes
Fix documentation
Replace AbstractReentrantLock with AbstractQueuedSynchronizer
This form allows you to request diffs between any two revisions of this file. For each of the two "sides" of the diff, select a symbolic revision name using the selection box, or choose 'Use Text Field' and enter a numeric revision.