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

Reply via email to