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