Achieve Strong Performance With Threads, Part 3
Explains how priority relates to thread scheduling and how to use the wait/notify mechanism to coordinate the activities of multiple threads. (July, 2002)
Thread Pools and Work Queues
Explores the motivations for thread pools, some basic implementation and tuning techniques, and some common hazards to avoid. (July, 2002)
Achieve Strong Performance With Threads, Part 2
Explains synchronization, Java's synchronization mechanism, and two problems that arise when developers fail to use that mechanism correctly. (June, 2002)
Achieve Strong Performance With Threads, Part 1
Gives an introduction to threads and explores the Thread class and runnables. (May, 2002)
Double-checked Locking and the Singleton Pattern
Examines the roots of the double-checked locking idiom, why it was developed, and why it doesn't work. (May, 2002)
Ease Your Multithreaded Application Programming
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. (February, 2002)
Singletons with Needles and Thread
Presents two approaches to creating thread-safe singletons. (January 25, 2002)
Can ThreadLocal Solve the Double-checked Locking Problem?
Explains how to fix the double-checked locking idiom by using thread-local variables and takes a look at its performance. (November, 2001)
Avoid Synchronization Deadlocks
Explains how to apply consistent rules for acquiring multiple locks simultaneously, to reduce the likelihood of synchronization deadlocks. (October, 2001)
Threads 101
Explains from the ground up how to get threads work correctly. (Chuck Allison) (June, 2001)
Can Double-Checked Locking be Fixed?
In this article, Brian Goetz looks at some of the commonly proposed fixes and shows how each of them fails to render the DCL idiom thread-safe under the Java Memory Model. (May, 2001)
Double-Checked Locking: Clever, but Broken
Though many Java books and articles recommend double-checked locking, unfortunately, it is not guaranteed to work in Java. (February, 2001)
Warning! Threading in a Multiprocessor World
Many authors advocate the double-checked locking idiom to access a Singleton object in an intuitively thread-safe way. Unfortunately, for counterintuitive reasons, double-checked locking doesn't work in Java. (February, 2001)
Why Thread Pools are Important in Java
Explains the use of thread pools to create better performing applications. (October, 2000)
Programming Java Threads in the Real World, Part 9
Discussion of two more architectural solutions to threading problems: a synchronous dispatcher (or 'reactor') and an asynchronous dispatcher (or 'active object'). (June, 1999)
Programming Java Threads in the Real World, Part 8
Discusses architectural solutions to threading problems. Takes a look at threads from the perspective of an object-oriented designer, and at how to implement threads in an object-oriented environment, focusing on the implementation of asynchronous methods. (May, 1999)
Programming Java Threads in the Real World, Part 7
Reader/writer locks let multiple threads safely access a shared resource in an efficient way. (April, 1999)
Programming Java Threads in the Real World, Part 6
How to implement the Observer pattern (used by AWT/Swing for its event model) in a multithreaded environment. (March, 1999)
Programming Java Threads in the Real World, Part 5
Timers let you perform fixed-interval operations, such as animation refreshes. (February, 1999)
Programming Java Threads in the Real world, Part 4
A condition variable adds to wait the ability to not wait when the condition you're waiting for has already taken place; and a counting semaphore lets you control a pool of resources without sucking up machine cycles in polling loops. (December, 1998)
Results: Previous 1 2 3 4 5 6 7 8 9 10 Next