Applications often need to pass contextual data, such as the current user or a request ID, down through many method calls without adding a parameter to every method. The traditional tool is ThreadLocal, a variable with a separate value per thread. It has drawbacks: any code can call set at any time, so data flow is hard to follow; values live until explicitly removed, which leaks data and memory in thread pools; and child threads that inherit values must copy them. With huge numbers of virtual threads these costs grow.
Keep reading for free
Create a free StudyToCert account to read the rest of this lesson: 5 more sections, 5 key terms, a real-world example, an exam tip and self-check questions. Every lesson, lab and practice test is free with an account.