首页 > 试题广场 >

下列关于线程的描述正确的是( )

[单选题]
下列关于线程的描述正确的是( )
  • 当一个线程因为抢占机制而停止运行,它会被放在可运行队列的前面。
  • 使用start()方法可以使一个线程立即开始运行。
  • 一个线程可能因为不同的原因而停止执行并进入就绪状态。
  • 一旦一个线程被创建,它就会立即开始运行。
1. 首先分析选项A: - 当一个线程因为抢占机制而停止运行,它会被放在可运行队列的后面,而不是前面。所以A错误。 2. 接着看选项B: - 使用 start() 方法启动一个线程,线程进入就绪状态,它不会立即开始运行,而是等待CPU的调度。所以B错误。 3. 再看选项C: - 一个线程可能因为不同的原因而停止执行并进入就绪状态。例如,线程执行完一个时间片,或者因为更高优先级的线程抢占了CPU等原因。所以C正确。 4. 最后看选项D: - 一个线程被创建后,需要调用 start() 方法进入就绪状态,等待CPU调度才能开始运行,而不是立即开始运行。所以D错误。 答案是C。
发表于 2024-10-30 19:17:47 回复(0)
线程运行过过程中由于缺少资源或者其他原因将中途被迫退出 ,即进入等待状态。当满足资源条件的时候,线程由等待状态进行就绪状态,重新等待CPU的调度(就绪状态不能回到等待状态; 总结就是如果是因为缺少资源退出那么会进入等待状态而不是进入就绪(可运行态)

B 使用start()方法可以使一个线程成为可运行的,但是它不一定立即开始运行

线程一旦被创建,等待CPU的调用—形成就绪队列
线程有五个状态:
创建状态:线程被创建
就绪状态:线程一旦被创建,等待CPU的调用—形成就绪队列
运行状态:就绪状态的线程被CPU选中被执行,当时间片轮转调度到期后 线程由运行状态进行就绪状态
等待状态:线程运行过过程中由于缺少资源或者其他原因将中途被迫退出 ,即进入等待状态。当满足资源条件的时候,线程由等待状态进行就绪状态,重新等待CPU的调度(就绪状态不能回到等待状态)
结束状态:线程正常执行完毕,进入结束状态(等待状态可以直接进入结束状态 如果发生死锁,计算机不加与干预,系统根据策略将等待状态的进程直接转到结束状态 —非正常结束)


发表于 2021-07-26 09:29:23 回复(1)