2012-08-13 80 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);