private void restoreThreadLocals() { installFiberLocals(); }
@Override public T get() { final Thread thread = Thread.currentThread(); final Fiber fiber = Fiber.currentFiber(); if (fiber != null) fiber.restoreThreadLocals(thread); try { return super.get(); } finally { if (fiber != null) fiber.installFiberLocals(thread); } }
@Override public void set(T value) { final Thread thread = Thread.currentThread(); final Fiber fiber = Fiber.currentFiber(); if (fiber != null) fiber.restoreThreadLocals(thread); try { super.set(value); } finally { if (fiber != null) fiber.installFiberLocals(thread); } } }
private void installFiberDataInThread(Thread currentThread) { record(1, "Fiber", "installFiberDataInThread", "%s <-> %s", this, currentThread); if (!noLocals) { installFiberLocals(currentThread); installFiberContextClassLoader(currentThread); if (MAINTAIN_ACCESS_CONTROL_CONTEXT) installFiberInheritedAccessControlContext(currentThread); } setCurrentFiber(this, currentThread); }