A Proposal for Fixing the Java Programming Language's Threading Problems
Java's threading model is entirely inadequate for programs of realistic complexity and isn't in the least bit object oriented.
Achieve Strong Performance With Threads, Part 1
Gives an introduction to threads and explores the Thread class and runnables.
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.
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.
Achieve Strong Performance With Threads, Part 4
Focuses on thread groups, volatility, thread-local variables, timers, and the ThreadDeath class. Also describes how various thread concepts combine to finalize objects.
Avoid Synchronization Deadlocks
Explains how to apply consistent rules for acquiring multiple locks simultaneously, to reduce the likelihood of synchronization deadlocks.
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.
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.
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.
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.
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 simplifie…
Going Atomic
Explains how the new atomic variable classes in JDK 5.0 enable the development of highly scalable nonblocking algorithms in the Java language.
Hey, where'd my thread go?
If you're not careful, threads can disappear from server applications without a (stack) trace. In this article, threading expert Brian Goetz offers some techniques for both preven…
Java Technology, Threads, and Scheduling in Linux
Examines the performance of the Linux kernel when the system is running a heavily threaded Java program using the IBM Java Developer Kit for Linux.
Multi-threading in Java
Article by Neel V. Kumar. A tour in the land of multithreading in Java. Introduces the mechanisms and demonstrates how to use them in limited but very common cases.
Programming Java Threads in the Real World, Part 1
Discusses the things you need to know to program threads in the real world. This article assumes you understand the language-level support for threads and focuses on the legion of …
Programming Java Threads in the Real World, Part 2
Discusses the perils that can arise when you approach multithreading in a naive way.
Programming Java Threads in the Real World, Part 3
Looks at how and why you might want to roll your own exclusion semaphores, and presents a lock manager that will help you safely acquire multiple semaphores.
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 resourc…
Programming Java Threads in the Real World, Part 5
Timers let you perform fixed-interval operations, such as animation refreshes.
Showing 20–20 of 35 results