ScopedValues are a modern Java feature designed to replace ThreadLocal variables. They allow passing values through method calls without using method parameters, bound to a task (Runnable/Callable) rather than a thread. Unlike ThreadLocals, they don't require explicit removal, can't escape the method call scope, and aren't transmitted to other threads unless using a structured task scope. However, they don't provide thread safety, so mutable scoped values shared across threads still require manual synchronization. Using immutable scoped values is recommended.

1m watch time

Sort: