@FunctionalInterface public interface ThreadContextSnapshot
An immutable snapshot of a particular type of thread context.
The captured context represented by this snapshot can be applied to any number of threads, including concurrently.
Any state that is associated with context applied to a thread should
be kept, not within the snapshot, but within the distinct
ThreadContextController
instance it creates each time it is applied
to a thread.
Modifier and Type | Method and Description |
---|---|
ThreadContextController |
begin()
Applies the captured thread context snapshot to the current thread and
returns a distinct
ThreadContextController instance. |
ThreadContextController begin()
Applies the captured thread context snapshot to the current thread and
returns a distinct ThreadContextController
instance. The
ThreadContextController
instance tracks the context's life cycle,
including any state that is associated with it or that is necessary for
restoring the previous context.
For each invocation of this method, the invoker (typically a
ManagedExecutor
or ThreadContext
instance)
must invoke the endContext
method on the corresponding
ThreadContextController
instance exactly once, such that the
previous context is restored on the thread. If the invoker sequentially
begins multiple ThreadContextController
instances on a thread,
it must invoke the corresponding endContext
methods in reverse
order.
Copyright © 2019 Eclipse Foundation. All rights reserved.