gpt4 book ai didi

java - Java 中的 Thread.interrupt() 和 Thread.currentThread.interrupt() 有什么区别?

转载 作者:行者123 更新时间:2023-11-29 06:46:02 25 4
gpt4 key购买 nike

我想知道 Thread.interrupt() 和 Thread.currentThread.interrupt() 是否做同样的事情或者会给出相同的结果?如果不是,有什么区别?

类似的问题是:Thread.sleep() 和 Thread.currentThread.sleep() 之间有什么区别,因为它们看起来意义相同?

最佳答案

Thread.interrupt() 方法中断实例引用的特定线程:

Thread x = getSomeThreadInstance();
x.interrupt();

x 变量可以引用任何线程实例。

Thread.currentThread().interrupt()方法和之前一样,但是应用于当前Thread,只中断当前执行的线程。它相当于:

Thread x = Thread.currentThread();
x.interrupt();

关于Thread.sleep()Thread.currentThread().sleep()没有区别。 sleep()Thread class 上的静态方法,并且对您的称呼方式没有影响。调用它会导致当前执行线程暂停指定的时间量。

尽管如此,不应该在实例上调用静态方法,这意味着静态方法应该以静态方式调用。

关于java - Java 中的 Thread.interrupt() 和 Thread.currentThread.interrupt() 有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4801317/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com