线程调度的状态

1.线程调度的三种状态
①运行态:此时线程正在运行
②就绪态:线程可以立刻运行,但是cup已经被占用
③等待态:线程正在等待某一事件的发生,无法执行;
处于运行时的线程有一段可执行的时间(时间片),当时间片用尽时,线程就会进入就绪状态。每当一个线程离开运行状态式,系统就会选择其他就绪的线程执行。在一个处于等待装态的线程所等待时间发生之后,该线程将进入就绪态。
2.不同的系统会有不同的线程调度算法
①优先级调度法(线程优先级)
用户指定优先级
根据进入等待状态的频繁程度提升或者降低优先级
长时间等不到执行而被提升优先级
②轮转法(风水轮流转,太容易饿死了)

3.可抢占式和不可抢占式
可抢占式:就绪态的线程抢占由于时间片用尽的线程的执行权利;
不可抢占式:线程可以选择自动放弃cpu(等待io事件,主动放弃时间片),但是如果其不放弃CPU,其他的线程会饿死。
 

猜你喜欢

转载自www.cnblogs.com/xiaowulang/p/10629214.html