线程连接(毫秒)未在 Java 中杀死线程

Thread join(milliseconds) not killing thread in Java

我试图用 Thread.join(millis) 使 运行 线程超时,但它只是挂起并且没有超时。这可能是什么原因造成的?示例代码

public static void main(String[] args) throws InterruptedException {
    final Thread t1 = new Thread(() -> {
        for (int i = 0; i < 100000000000000000L; i++) {
        }
    });
    t1.start();
    t1.join(100);
    System.out.println("t1.join called");
}

Thread join(milliseconds) not killing thread in Java

这并不是要杀死线程。意思是等它退出到超时值,然后如果超时就把InterruptedException丢给current线程。请参阅 Javadoc。