Introduces basic concurrency problems and shows how to solve them by using builtin Java synchronization primitives. (Only sources free accessed without registration)
Read-write locks allow multiple threads to acquire a read lock provided no other thread currently has a write lock on the same object. A thread can acquire a write lock if no other thread owns either a read lock or a write lock.
Explores the motivations for thread pools, some basic implementation and tuning techniques, and some common hazards to avoid.
Explains how to apply consistent rules for acquiring multiple locks simultaneously, to reduce the likelihood of synchronization deadlocks.
Explains how to fix the double-checked locking idiom by using thread-local variables and takes a look at its performance.
Explains the use of thread pools to create better performing applications.
Takes a look at one of the most-used constructs in multithreaded programming: the producer-consumer scenario. Also shows a Consumer class which facilitates code reuse and simplifies debugging and maintenance in some multithreaded applications.
Explains why contended synchronization is a problem and then explores several techniques for reducing contention, and hence improving scalability.
Examines the roots of the double-checked locking idiom, why it was developed, and why it doesn't work.
Java's threading model is entirely inadequate for programs of realistic complexity and isn't in the least bit object oriented.
Computers /
Programming /
Languages /
Java
|