在Java中,有关线程的哪些叙述是对的( )
一旦一个线程被创建,它就立即开始运行。
使用start()方法可以使一个线程成为可运行的,但是它不一定立即开始运行。
当一个线程因为抢先机制而停止运行,它被放在可运行队列的前面。
一个线程可能因为不同的原因停止并进入就绪状态。
"一旦一个线程被创建,它就立即开始运行。"
“使用start()方法可以使一个线程成为可运行的,但是它不一定立即开始运行。”
线程不是马上执行的;准确来说,调用start( )方法后,线程的状态从 new 的状态 变成 “READY(就绪)”状态,而不是“RUNNING(运行中)”状态(关于线程的状态详细,可参考 java中的线程状态)。线程要等待CPU调度,不同的JVM有不同的调度算法,线程何时被调度是未知的。因此,start()方法的被调用顺序不能决定线程的执行顺序
“当一个线程因为抢先机制而停止运行,它被放在可运行队列的前面。”
因为抢先机制而停止运行,说明该线程的优先级比较低,不可能排到可运行队列的前面。
“使用start()方法可以使一个线程成为可运行的,但是它不一定立即开始运行。”
线程不是马上执行的;准确来说,调用start( )方法后,线程的状态从 new 的状态 变成 “READY(就绪)”状态,而不是“RUNNING(运行中)”状态(关于线程的状态详细,可参考 java中的线程状态)。线程要等待CPU调度,不同的JVM有不同的调度算法,线程何时被调度是未知的。因此,start()方法的被调用顺序不能决定线程的执行顺序
“当一个线程因为抢先机制而停止运行,它被放在可运行队列的前面。”
因为抢先机制而停止运行,说明该线程的优先级比较低,不可能排到可运行队列的前面。