RFR [9] 8056152 API to create Threads that do not inherit InheritableThreadLocals
David Holmes
david.holmes at oracle.com
Wed Dec 9 01:36:44 UTC 2015
Hi Chris,
On 9/12/2015 12:15 AM, Chris Hegarty wrote:
> Many threads created by the platform are short lived and perform some
> simple async operation on behalf of the platform. These threads typically
> use/extend sun.misc.ManagedLocalsThread. This is a convenient internal
> API that can be used to create threads that do not wish to inherit initial
> values from inheritable thread-local variables.
>
> I'd like to propose an additional java.lang.Thread constructor that exposes
> the ability to explicitly "opt out" of inheriting these initial values ( from
> inheritable thread-local variables ). This seems like useful general
> functionality, given the amount of usage in the JDK of the internal API.
>
> This new public API can then be used to replace usages of the internal
> sun.misc.ManagedLocalsThread. As part of this bug I've only retrofitted
> the usage in the sources of the base module. Other modules can be done
> as a follow up.
>
> Webrev:
> http://cr.openjdk.java.net/~chegar/8056152/00/webrev/
Addition to Thread looks good to me.
I vote in favor of maintaining consistency of the existing Thread
construction patterns. Builders or whatever can be added later as a
separate RFE if considered desirable.
I actually wasn't aware of the existing ManagedLocalsThread.
Thanks,
David
> -Chris.
>
> [1] https://bugs.openjdk.java.net/browse/JDK-8056152
>
More information about the core-libs-dev
mailing list