关于java线程的睡眠状态 3 周 Questions & Answers 745 线程类中的睡眠函数是静态的。i read sleep函数可以使一个线程在其他线程运行时睡眠一段特定时间 由于睡眠功能是静态的。。。当调用它时,它将适用于所有线程。如何使用它保持特定线程处于睡眠状态
# 2 楼答案 Thread.sleep(); 将使执行此代码的当前线程处于睡眠模式 Causes the currently executing thread to sleep (temporarily cease execution) for the specified number of milliseconds. Doc
# 3 楼答案 根据java文档: public static void sleep(long millis, int nanos) throws InterruptedException 使当前执行的线程睡眠(停止执行)指定的毫秒数加上指定的纳秒数。线程不会失去任何监视器的所有权 因此,当您调用sleep()时,您将休眠当前线程
# 4 楼答案 sleep方法不适用于所有线程,当调用它时,它会获取其中的当前线程(可能使用另一个静态方法thread.currentThread())。由于堆/堆栈可见性的原则,方法调用只适用于当前线程,并且不修改任何静态字段(它是自包含的)
# 5 楼答案 由于该方法取决于调用线程的jvm的状态,而不是由对象表示的线程,因此它必须是静态的,其他任何东西都会产生误导 在线程实例上实现它不会很好,因为如果持有对jvm资源的锁(link),停止其他线程可能会导致整个jvm停止
# 1 楼答案
调用时,它将使当前正在执行的线程休眠
# 2 楼答案
将使执行此代码的当前线程处于睡眠模式
# 3 楼答案
根据java文档:
使当前执行的线程睡眠(停止执行)指定的毫秒数加上指定的纳秒数。线程不会失去任何监视器的所有权
因此,当您调用
sleep()
时,您将休眠当前线程# 4 楼答案
sleep方法不适用于所有线程,当调用它时,它会获取其中的当前线程(可能使用另一个静态方法thread.currentThread())。由于堆/堆栈可见性的原则,方法调用只适用于当前线程,并且不修改任何静态字段(它是自包含的)
# 5 楼答案
由于该方法取决于调用线程的
jvm的状态,而不是由对象表示的线程,因此它必须是静态的,其他任何东西都会产生误导在线程实例上实现它不会很好,因为如果持有对jvm资源的锁(link),停止其他线程可能会导致整个jvm停止