我有一个功能:
Thread myThread = new Thread(new Runnable() {
@Override
public void run() {
while (true) {
try {
Thread.sleep(500);
myThread.sleep(500);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
});
调用Thread.sleep(500);
与调用myThread.sleep(500);
相同吗?
两个不同的电话之间有什么不同吗?
答案 0 :(得分:8)
public static void sleep(long millis) throws InterruptedException
使当前正在执行的线程暂停(暂时停止执行)指定的毫秒数,具体取决于系统计时器和调度程序的精度和准确性。该线程不会失去任何监视器的所有权。
sleep()方法是静态的。应始终将其称为Thread.sleep()
。写otherThread.sleep()
使不导致otherThread
睡觉;它会导致当前线程进入休眠状态。