Use ThreadLocal.withInitial to lazy lazily init ThreadLocal. This makes the code more concise, and is no different from the original code logic. Hope to consider merging this PR.

Comment From: harawata

Thank you, @chenqimiao !