首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Java语言中,Thread.interrupt()和Thread.currentThread.interrupt()有什么区别?

在Java语言中,Thread.interrupt()和Thread.currentThread.interrupt()有什么区别?
EN

Stack Overflow用户
提问于 2011-01-26 12:04:02
回答 1查看 2.6K关注 0票数 1

我想知道Thread.interrupt()和Thread.currentThread.interrupt()是做同样的事情,还是会得到同样的结果?如果不是,有什么不同?

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

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-01-26 12:13:57

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

代码语言:javascript
复制
Thread x = getSomeThreadInstance();
x.interrupt();

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

Thread.currentThread().interrupt()方法与前面相同,但应用于当前线程,仅中断当前执行的线程。相当于:

代码语言:javascript
复制
Thread x = Thread.currentThread();
x.interrupt();

关于Thread.sleep()Thread.currentThread().sleep()没有区别。sleep()Thread class上的一个静态方法,调用它的方式没有区别。调用它会使当前执行的线程暂停指定的时间量。

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

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4801317

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档