我想知道Thread.interrupt()和Thread.currentThread.interrupt()是做同样的事情,还是会得到同样的结果?如果不是,有什么不同?
类似的问题是: Thread.sleep()和Thread.currentThread.sleep()之间的区别是什么,因为它们似乎有相同的意义?
发布于 2011-01-26 12:13:57
Thread.interrupt()方法中断实例引用的特定线程:
Thread x = getSomeThreadInstance();
x.interrupt();X变量可以引用任何线程实例。
Thread.currentThread().interrupt()方法与前面相同,但应用于当前线程,仅中断当前执行的线程。相当于:
Thread x = Thread.currentThread();
x.interrupt();关于Thread.sleep()和Thread.currentThread().sleep()没有区别。sleep()是Thread class上的一个静态方法,调用它的方式没有区别。调用它会使当前执行的线程暂停指定的时间量。
尽管如此,不应该在实例上调用静态方法,这意味着应该以静态方式调用静态方法。
https://stackoverflow.com/questions/4801317
复制相似问题