首页 > 试题广场 >

有关线程的哪些叙述是对的

[不定项选择题]

有关线程的哪些叙述是对的

  • 一旦一个线程被创建,它就立即开始运行。
  • 一个线程可能因为不同的原因停止并进入就绪状态。
  • 当一个线程因为抢先机制而停止运行,它被放在可运行队列的前面。
  • 使用start()方法可以使一个线程成为可运行的,但是它不一定立即开始运行。
一个新创建的线程并不是自动的开始运行的,必须调用它的start()方法使之将线程放入可运行态(runnable state)
发表于 2018-08-02 16:45:56 回复(0)
C选项错误是,因为抢先机制而停止运行,说明该线程的优先级比较低,不可能排到可运行队列的前面。
发表于 2018-09-20 09:42:00 回复(0)
A、进程被创建首先进入就绪队列,之后根据调度算法进行运行
C、进程被抢占,其在队列的队首还是队尾位置取决于具体的调度算法;例如最短剩余时间调度算法,采用的是抢占,每次执行的是就绪队列中剩余执行时间最短的进程,那么被抢占的不一定就是在队列头部,但是这种调度算***产生饥饿。
编辑于 2019-08-11 22:07:51 回复(0)
本题答案应该是B、D
B选项中有可能是时间片用完进入就绪状态,有可能是被优先级高的线程抢占而进入就绪状态!
发表于 2018-09-19 14:57:29 回复(0)
C选项:
假如是可抢占的系统,那么当前运行的线程一定是优先级最高的。
假如优先级更高的线程到来,被抢占的线程会被放在可运行(就绪态,不是正在运行)的最前面,没有毛病吧?
发表于 2019-07-03 23:59:22 回复(0)
D为什么是对的??
start方法不是调start0的native方法,然后调c的方法,在c里面调用操作系统的p_thread_create()方法来创建线程吗,什么叫使一个线程成为可运行的
发表于 2021-04-16 14:55:51 回复(0)
当一个线程因为抢先机制而停止运行,优先级低
发表于 2019-09-03 21:56:09 回复(0)
D选项是因为调用start()方法之后还需要获取资源和CPU吗
发表于 2019-06-04 10:06:52 回复(1)
即使是因为抢先而停止也不一定就进入可运行队列的前面,因为同级线程是轮换式的,而它因抢占而停止后只能在轮换队列中排队。
发表于 2019-05-28 22:01:05 回复(0)
BD
发表于 2019-04-26 19:07:33 回复(0)
B
发表于 2018-10-18 14:57:57 回复(0)

Bd

发表于 2018-10-09 15:51:30 回复(0)