Hes*_*sey 1 java multithreading interrupt
我想知道Thread.interrupt()和Thread.currentThread.interrupt()是做同样的事情还是会给出相同的结果?如果没有,有什么区别?
类似的问题是:Thread.sleep()和Thread.currentThread.sleep()之间的区别是什么,因为它们似乎有同样的意义?
该Thread.interrupt()方法中断实例引用的特定Thread:
Thread x = getSomeThreadInstance();
x.interrupt();
Run Code Online (Sandbox Code Playgroud)
x变量可以引用任何线程实例.
该Thread.currentThread().interrupt()方法与之前相同,但应用于当前Thread,仅中断当前执行的线程.它相当于:
Thread x = Thread.currentThread();
x.interrupt();
Run Code Online (Sandbox Code Playgroud)
关于Thread.sleep()并Thread.currentThread().sleep()没有什么区别.sleep()是Thread类的静态方法,并且在调用它的方式上没有任何区别.调用它会导致当前执行的线程暂停指定的时间.
但是,不应该在实例上调用静态方法,这意味着应该以静态方式调用静态方法.
| 归档时间: |
|
| 查看次数: |
2294 次 |
| 最近记录: |