请用通俗易懂的语言或文章链接进行解释。
什么时候应该使用ThreadLocal变量?它是如何使用的?
从我在Java中使用线程的时间来看,我发现了两种编写线程的方法:使用可运行的机具:或者,使用扩展线程:这两个代码块有什么显著的区别吗?