2012-08-13 58 views
3

如何访问正在执行RunnableThread对象?我想要做的是从run()方法中调用sleep()从Runnable内部访问线程

+0

thread.currentThread() – 2012-08-13 14:32:46

+1

睡眠是静态的,也没有办法为*睡眠*任意线程......除非你拥有OS栈。 – bestsss 2012-08-13 14:38:18

回答

17

如果您需要睡在Runnable之内,您可以简单地在run方法中调用Thread.sleep();

要访问正在运行Runnable的线程,可以拨打Thread.currentThread(),但调用sleep静态方法不是必需的。

+0

是的,我应该猜到它会如此微不足道。无论如何感谢您的帮助。 – alex 2012-08-13 14:46:19

+0

没有必要太慷慨。这不合法,因为您无法通过线程引用在线程实例上调用sleep。你只能通过静态Thread.sleep()来睡眠当前线程。 – RichieHH 2014-08-07 21:41:17

+0

从技术上讲,你可以但它仍然会睡眠当前的线程。 – assylias 2014-08-07 22:39:52

6

您总是可以通过调用静态方法Thread.currentThread()来获得您的代码正在执行的当前Thread

但在你的情况,你不需要线程本身,因为睡眠与下面的静态方法来控制:

Thread.sleep(1000L);