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]
page renderer examples [See also model(s)/modeling, shared data.] heterogenous task partitioning parallelism analysis sequential execution
parallelizing/parallelism 2nd [See also concurrent/concurrency, errors.] [See also wrapper(s), factories, Decorator pattern.] application analysis heterogeneous tasks iterative algorithms barrier management of puzzle-solving framework recursive algorithms serialization vs Amdahl's law task-related decomposition thread-per-task policy partial ordering happens-before and publication JMM definition piggybacking partitioning as parallelizing strategy passivation impact on HttpSession threadsafety requirements
perfbar application 2nd [See also guidelines, measurement.] [See also monitoring, tools.] CPU performance measure performance measurement use
perfmon application 2nd [See also guidelines, measurement.] [See also monitoring, tools.] I/O measurement performance measurement use
performance 2nd 3rd 4th 5th 6th 7th [See also concurrent/concurrency, errors.] [See also performance, liveness.] [See also guidelines, scalability.] [See also throughput.] [See also resource(s), utilization.] and heterogeneous tasks and immutable objects and resource management atomic variables locking vs cache implementation issues composition functionality extension mechanism costs thread-per-task policy fair vs. nonfair locking
hazards 2nd [See also scheduling, overhead.] [See also priority(s).] JVM interaction with hardware reordering liveness in servlets with state locking during iteration impact on
measurement of 2nd 3rd 4th 5th 6th [See also capacity.] [See also efficiency.] [See also latency.] [See also guidelines, scalability.] [See also variance, service time.] [See also throughput.] locks vs. atomic variables 2nd memory barrier impact on notifyAll impact on
optimization 2nd [See also monitoring, CPU utilization.] [See also happens-before, piggybacking.] Amdahl's law bad practices CAS-based operations reduction strategies page renderer example with CompletionService improvements producer-consumer pattern advantages read-write lock advantages ReentrantLock vs. intrinsic locks requirements thread-safety impact scalability vs issues, three-tier application model as illustration lock granularity reduction object pooling issues sequential event processing simplicity vs in refactoring synchronized blocks synchronized block scope SynchronousQueue techniques for improving atomic variables nonblocking algorithms testing criteria goals pitfalls, avoiding thread pool size impact tuning thread safety hazards for timing and ordering alterations for thread safety risks tradeoffs evaluation of permission codebase and custom thread factory
permits [See also semaphores.] pessimistic concurrency management
[See lock(ing), exclusive.] piggybacking on synchronization point(s) barrier cancellation poison
message [See also livelock.]
pill 2nd 3rd [See also task(s), lifecycle.] [See also application(s), shutdown.] CrawlerThread IndexerThread IndexingService unbounded queue shutdown with
policy(s) 2nd 3rd 4th 5th [See also strategies, design.] [See also guidelines, documentation.] [See also design, of thread-safe classes, guidelines.] [See also lock(ing), protocols.] [See also design, strategies.] application thread pool advantages cancellation for tasks, thread interruption policy relationship to interruption advantages as implementation strategy execution design, influencing factors Executors, for ThreadPoolExecutor configuration implicit couplings between tasks and parallelism analysis for task task, application performance importance interruption 2nd saturation security custom thread factory handling sequential task execution sharing objects synchronization requirements, impact on class extension requirements, impact on class modification shared state requirements for task scheduling sequential thread pools thread pools advantages over thread-per-task thread-per-task thread confinement polling blocking state-dependent actions for interruption lock acquisition
pool(s) [See also resource(s).] object appropriate uses bounded, semaphore use disadvantages of serial thread confinement use resource semaphore use thread pool size impact size core 2nd maximum thread adding statistics to application as producer-consumer design as thread resource management mechanism callback use in testing combined with work queues, in Executor framework configuration post-construction manipulation configuring task queue creating deadlock risks factory methods for sizing uncaught exception handling portal timed task example
postconditions [See also guidelines, invariants.] preservation of mechanisms and synchronization policy role thread safety role
precondition(s) 2nd [See also dependencies.] [See also guidelines, invariants.] condition predicate as failure bounded buffer handling of propagation to callers state-based in state-dependent classes management
predictability [See also measurement, responsiveness.] measuring preemptive interruption deprecation reasons presentation
[See application(s), GUI.] primitive local variables, safety of wrapper classes atomic scalar classes vs priority(s) inversion avoidance, nonblocking algorithm advantages thread manipulation, liveness hazards when to use PriorityBlockingQueue thread pool use of PriorityQueue private constructor capture idiom locks Java monitor pattern vs probability deadlock avoidance use with timed and polled locks determinism vs in concurrent programs process(es) communication mechanisms lightweight
[See guidelines, threads.] threads vs producer-consumer pattern and Executor functionality in CompletionService blocking queues and bounded buffer use control flow coordination blocking queues use Executor framework use pathological waiting conditions performance testing safety testing work stealing vs
profiling [See also guidelines, measurement.] JVM use tools lock contention detection performance measurement quality assurance programming models sequential
progress indication [See also application(s), GUI.] in long-running GUI task propagation of interruption exception
protocol(s) 2nd 3rd [See also guidelines, documentation.] [See also policy(s).] [See also design, strategies.] entry and exit state-dependent operations lock acquisition instance confinement use locking shared state requirements for race condition handling thread confinement atomicity preservation with open calls pthreads (POSIX threads) default locking behavior
publication 2nd 3rd 4th [See also guidelines, confinement.] [See also guidelines, documentation.] [See also guidelines, encapsulation.] [See also data, sharing, access coordination.] escape and improper 2nd JMM support of immutable objects volatile use safe idioms for in task creation of mutable objects serial thread confinement use safety guidelines state variables safety, requirements for unsafe
put-if-absent operation [See also compound actions.] as compound action atomicity requirements concurrent collection support for puzzle solving framework as parallelization example
|