jdk17+ suppressWarnings, FJ updates
DiscardOldestPolicy code snippet: fix compile error pointed out by prappo
adjust indent as pointed out by prappo in review of 8234131
rollback inadvertent commit of experiment in 1.194
Incorporate snippets code improvements from Pavel Rappo
improve wording in ThreadPoolExecutor constructors (JDK-8250816)
Add cautionary documentation about DiscardOldestPolicy
8232230: Suppress warnings on non-serializable non-transient instance fields in java.util.concurrent
8221892: ThreadPoolExecutor: Thread.isAlive() is not equivalent to not being startable
finalize finalize() javadoc agreed on in JDK-8195862
"jdk" should be ALL-CAPS
restore a "no-throws" no-op ThreadPoolExecutor.finalize method
remove unused imports
typo
Remove finalize
In modern Java we can simply rethrow Throwables without wrapping
coalesce two catch clauses
remove redundant reentrant lock acquisitions from checkShutdownAccess, interruptWorkers
rename CAPACITY to COUNT_MASK; clarify effective pool size limits
@code -> @link
improve readability of runstate checking
decrementWorkerCount: use addAndGet instead of hand-rolled loop
cosmetic tweaks for 8172204: Better Thread Pool execution
8172204: Better Thread Pool execution
sync with upstream
suppress finalize() warnings
fix 8177632 and 8176254
whitespace
clarify default rejected execution handler and thread factory
JDK-8173113: Javadoc for ThreadPoolExecutor is unclear wrt corePoolSize and running threads
remove no-longer-useful style spec for javadoc <dd> tags
add TODO
compare longs against 0L, not 0
clarify that shutdownNow does not cancel tasks in the "Future.cancel" sense
Terminate javadoc with a period.
Workaround JDK-8072052:<dd> part of <dl> list in javadoc should not be in monospace font
consistent style for <li> tags, removing </li> end tags
use standard while (!condition()) idiom in await loops
standardize code sample idiom: * <pre> {@code
reformat code sample
Documentation improvements
standardize import statement order
never use wildcard imports
add assert comment
whitespace
time to start using diamond <>
Trap inconsistent corePoolSize arguments
clarify javadoc for keep-alive time methods
readability
whitespace
javadoc style
consistent use of "@return {@code true}"
small javadoc improvement
small javadoc improvement
javadoc link readability
javadoc link readability
whitespace
javadoc style
optimize access to local ArrayLists
Avoid STPE thread restarts when keepalive times out and allowCoreThreadTimeOut and there remain queued tasks
typo
delete reference to deleted method clearInterruptsForTaskRun
whitespace
javadoc style
normalize whitespace after <p>
inline temp var
move variable to nested scope
typo
Avoid interrupts until threads fully start
Precheck that worker threads are startable, to fail faster
restore pool invariants if thread creation fails
fix imports
Prefer core threads in ensurePrestart
Ensure at least one thread even if core 0 in STPE
Update Creative Commons license URL in legal notices
Add state information to toString, use in RJE
6620549: ExecutorService#shutdown should clearly state that it does not block
Sync with OpenJDK; untabify
6576792: ThreadPoolExecutor methods leak interrupts when run in pool threads
6523756: ThreadPoolExecutor shutdownNow vs execute race
Minor touch-ups
More TPE/STPE review rework
TPE/STPE review rework
whitespace
More conservative recheck on STOP
review fixes
addWorker
purge
minor fixes
doc fixes
doc fixes
Internal refactoring
Revert Worker.run loop form; update documentation
Worker.run
typo
whitespace
typo
tiny doc fixes
1. Document run method; combine with runTask 2. Move worker replacement code into workerDone
Distinguish throws of RuntimeExceptions vs Errors
Avoid potential incompatibilty of previous change
Preserve core pool size when tasks encounter exceptions
6440728: ThreadPoolExecutor can fail to execute successfully submitted tasks as specified
typos
Make isTerminating match spec
typos
whitespace
typos
Typo
Typos
typos
whitespace
Refactor
Improve shutdownNow guarantees
6435792: javadoc is wrong for ThreadPoolExecutor.setMaximumPoolSize(int)
Don't create thread when terminated
allowCoreTimeout should be volatile
Improve responsiveness and handling of interrupts
whitespace
Document and better support finalization
Replace AccessController.checkPermission with SecurityManager.checkPermission
6378729: Remove workaround for 6280605
whitespace
un-masking docstrings
Allow recycling of rejected tasks
doc fixes
@since 1.6
whitespace
doc fixes
Avoid generics warnings; clarify javadocs
whitespace
constructor doc fixes
doc fixes
Better interrupt detection
Documentation improvements
Reduce need for replacing interrupted worker threads
Add ThreadPoolExecutor.allowCoreThreadTimeOut
Reduce need for replacing interrupted worker threads
Typo fix
Nitpicky doc fixes
Wording fix for ArrayBlockingQueue Added Internal comments to ThreadPoolExecutor
Warn about exceptions in hooks; Don't swallow newThread exceptions
Allow and cope with ThreadFactory.newThread failing or returning null
Wording fixes and improvements
Wording improvements and fixes
doc improvements; consistent conventions for nested classes
Avoid need for synthetic accessors
Javadoc fixes
formatting; grammar
Code walkthrough misc
spellcheck
Headers reference Creative Commons
Adapt to AbstractQueuedSynchronizer
cache finals across volatiles; avoid readResolve; doc improvments; timed invokeAll interleaves
Simplify FutureTask and AbstractExecutorService internals; improve docs
Documentation improvements
Export delegation wrappers; fix/add documentation
Don't allocate an empty Runnable[] each time toArray() is called.
Improper cast of toArray() to Runnable[], now uses toArray(Runnable[]).
Raw List returned by shutdownNow is really List<Runnable>.
Move and rename static Executors.execute/invoke to ExecutorService.submit/invoke, providing implementations in AbstractExecutorService (which TPE extends).
Revised tests for revised Future classes
Add ConcurrentMap.replace; fix other typos
fixed typos; avoided some casts
Reworked PriviligedFutureTask; added Semaphore.reducePermits; moved factories
added DefaultThreadPoolFactory as static protected class
Redeclare some Conditions as ReentrantLock.ConditionObjects
null-check setRejectedExecutionHandler
added drainTo; clarified various exception specs
fixed typos
Use "unit" instead of "granularity"; add Executors link to first sentence of TPE
Spellcheck
Consistently throw NPE for execute(null)
Fix termination when never started
Proofreading pass -- many minor adjustments
Grammar fix.
Minor rephrasings in javadoc
Rewrite sections of class javadoc; eliminate WaitPolicy
Fix html
Removed non-standard tags and misc javadoc cleanup
Fixed @Executors typo
Kill ScheduledExecutor Date methods; Documentation clarifications
New shutdown policies for Scheduled executor; refactored to avoid more messiness
Add finalize
Scrunched catch, finally, else clauses.
Semi-lazily prestart core threads in SE
ScheduledExecutor must prestart core threads
Added missing @see tags
More javadoc link fixes
Locks in subpackage; fairness params added
Added missing javadoc tags; minor reformatting
Removed automatic queue removal on cancel; Added TPE purge; Fixed RL typo
Added to emulation Fixed some javadoc format errors
New ScheduledExecutor; CancellableTask
Cancellation support in TPE
Simple ScheduledExecutor
re-check-in initial implementations
Moved main source rooted at . to ./src/main Moved test source rooted at ./etc/testcases to ./src/test
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.