A. java Thread源代码sleep函数,有一点看不懂,求解。
static void
sleep(long millis)
在指定的毫秒数内让当前正在执行的线程休眠(暂停执行),此操作受到系统计时器和调度程序精度和准确性的影响。
static void sleep(long millis,
int nanos)
在指定的毫秒数加指定的纳秒数内让当前正在执行的线程休眠(暂停执行),此操作受到系统计时器和调度程序精度和准确性的影响。
参数:
millis - 以毫秒为单位的休眠时间。
nanos - 要休眠的另外 0-999999 纳秒。
B. java sleep() 和 wait() 有什么区别
1、同步锁的对待不同:
sleep()后,程序并不会不释放同步锁。
wait()后,程序会释放同步锁。
2、用法的不同:
sleep()可以用时间指定来使他自动醒过来。如果时间不到你只能调用interreput()来强行打断。
wait()可以用notify()直接唤起。
3、属于不同的类:
sleep()的类是Thread。
wait()的类是Object。
C. Java线程中的sleep方法作用是啥,啥时候用此方法
sleep(毫秒数)是Thread类的静态方法。
使用时:Thread.sleep(毫秒数);
如Thread.sleep(1000);该线程睡眠1秒钟,之间此线程什么都不做。
等1秒钟之后,继续余下代码执行。
不过线程是没有保证的。也许1秒钟之后,该线程没有转为可运行状态,也是可能的。