我正在尝试对包含ThreadLocal的类进行单元测试,并希望通过在每个测试中启动一个新线程来使测试不会相互影响.但是,他们仍然这样做,我不明白为什么.
@Test
public void testThread() {
System.out.println(Thread.currentThread().getId());
new Thread(){
@Override
public void run(){
System.out.println(Thread.currentThread().getId());
}
}.run();
}
Run Code Online (Sandbox Code Playgroud)
输出:
1
1
Run Code Online (Sandbox Code Playgroud)
有人可以解释为什么即使启动新线程,ID也是一样的吗?