Index
[SYMBOL]
[A]
[B]
[C]
[D]
[E]
[F]
[G]
[H]
[I]
[J]
[K]
[L]
[M]
[N]
[O]
[P]
[Q]
[R]
[S]
[T]
[U]
[V]
[W]
daemon threads
data [See also checkpoint, state.] contention avoidance and scalability hiding thread-safety use nonatomic 64-bit operations
sharing [See also page renderer examples.] access coordination 2nd advantages of threads shared data models synchronization costs split data models 2nd stale versioned data model data race 2nd race condition vs
data structure(s) 2nd 3rd 4th 5th [See also concurrent/concurrency, collections.] [See also cooperation/cooperating, objects.] [See also block(ing), queues, and thread pool management.] [See also stack(s).] [See also tree(s).] handling
[See cache/caching, implementation issues, atomic/atomicity.] [See guidelines, confinement.] [See guidelines, encapsulation.] [See iterators/iteration.] [See recursion.] protection and interruption handling shared as serialization source testing insertion and removal handling database(s) deadlock recovery capabilities JDBC Connection thread confinement use thread pool size impact Date effectively immutable use dead-code elimination and performance testing deadline-based waits as feature of Condition
deadlock(s) 2nd 3rd 4th [See also concurrent/concurrency, errors.] [See also performance, liveness.] [See also guidelines, safety.] analysis thread dump use as liveness failure avoidance and thread confinement nonblocking algorithm advantages 2nd strategies for cooperating objects diagnosis strategies for dynamic lock order in GUI framework lock splitting as risk factor for locking during iteration risk of recovery database capabilities polled and timed lock acquisition use 2nd timed locks use reentrancy avoidance of resource thread starvation 2nd 3rd deadly embrace
[See analysis, deadlock.] death, thread abnormal, handling
debugging 2nd 3rd 4th 5th [See also deadlock(s), analysis.] [See also strategies, design.] [See also guidelines, documentation.] [See also deadlock(s), recovery.] [See also buffer(s), testing.] annotation use concurrency costs vs. performance optimization value custom thread factory as aid for JVM optimization pitfalls thread dump use thread dumps intrinsic lock advantage over ReentrantLock unbounded thread creation risks
decomposition 2nd 3rd [See also fragility, solutions, composition.] [See also strategies, delegation.] [See also guidelines, encapsulation.] producer-consumer pattern tasks-related Decorator pattern collection class use for wrapper factories decoupling of activities as producer-consumer pattern advantage task decomposition as representation of of interrupt notification from handling in Thread interruption handling methods task submission from execution and Executor framework
delayed tasks [See also time/timing.] handling of DelayQueue time management
delegation 2nd 3rd [See also fragility, solutions, composition.] [See also strategies, design.] [See also guidelines, safety.] advantages class extension vs for class maintenance safety thread safety failure causes management
dependencies 2nd 3rd 4th 5th 6th [See also cache/caching, implementation issues, atomic/atomicity.] [See also guidelines, invariants.] [See also guidelines, postconditions.] [See also precondition(s).] [See also checkpoint, state.] code as removal, as producerconsumer pattern advantage in multiple-variable invariants thread safety issues state blocking operations classes classes, building managing operations operations, condition queue handling task freedom from, importance of task and execution policy thread starvation deadlock task freedom from importance Deque
deques 2nd 3rd [See also concurrent/concurrency, collections.] [See also shared/sharing, data structures.] [See also block(ing), queues, and thread pool management.] work stealing and
design 2nd 3rd 4th 5th [See also guidelines, documentation.] [See also design, of thread-safe classes, guidelines.] [See also execution, policies.] [See also task(s), representation.] [See also design, strategies.] class state ownership as element of concurrency design rules concurrency testing condition queue encapsulation condition queues and condition predicate control flow latch characteristics execution policy influencing factors GUI single-threaded use rationale for importance in thread-safe programs of thread-safe classes guidelines parallelism application analysis for parallelization criteria performance analysis, monitoring, and improvement performance tradeoffs evaluation of principles simplicity of final fields producer-consumer pattern decoupling advantages Executor framework use program and task decomposition result-bearing tasks representation issues strategies for InterruptedException thread confinement thread pool size relevant factors for timed tasks tradeoffs collection copying vs. locking during iteration concurrent vs. synchronized collections copy-on-write collections synchronized block timeliness vs. consistency 2nd 3rd design patterns antipattern example double-checked locking examples
[See wrapper(s), factories, Decorator pattern.] [See MVC (model-view-controller) pattern.] [See consumers, producer-consumer pattern.] [See Singleton pattern.] destruction
[See thread(s), teardown.]
dining philosophers problem [See also analysis, deadlock.] discard saturation policy discard-oldest saturation policy
documentation 2nd 3rd 4th 5th [See also concurrent/concurrency, debugging.] [See also strategies, design.] [See also good practices.] [See also design, of thread-safe classes, guidelines.] [See also policy(s).] annotation use 2nd concurrency design rules role critical importance for conditional notification use importance for special execution policy requirements stack confinement usage of synchronization policies safe publication requirements double-checked locking (DCL) 2nd as concurrency bug pattern downgrading read-write lock implementation strategy driver program for TimedPutTakeTest example
dynamic [See also measurement, responsiveness.] compilation as performance testing pitfall lock order deadlocks
|