zoukankan      html  css  js  c++  java
  • 进程优先级&线程优先级

    进程优先级&线程优先级

      线程的优先级越高那么就可以分占相对多的CPU时间片。每个进程都有相应的优先级,线程优先级决定它何时运行和占用CPU时间。最终的优先级共分32级是从0到31的数值称为 基本优先级别 。

      OS调度的是线程,真正具有优先级的是线程,而进程优先级是作为一个优先级Class存在。

      进程优先级:

      priorityclass            标志                优先级值

      idle(低)         I D L E _ P R I O R I T Y _ C L A S S        4

      Below(低于标准)  B E L O W _ N O R M A L _ P R I O R I T Y _ C L A S S  

      normal(标准)    N O R M A L _ P R I O R I T Y _ C L A S S     9(前台)或7(后台)

      Above(高于标准)  A B O V E _ N O R M A L _ P R I O R I T Y _ C L A S S

      high(高)        H I G H _ P R I O R I T Y _ C L A S S       1 3

      realtime(实 时)    R E A L T I M E _ P R I O R I T Y _ C L A S S 

      一个线程创建的时候,会继承进程的优先级。 外线程优先级可以用SetThreadPriority来进行微调。

       线程优先级等级           标志                 优先级值

       idle(最低)       THREAD_PRIORITY_IDLE      如果进程优先级为realtime则调整为16,其它情况为12

      LOWEST(低)    THREAD_PRIORITY_LOWEST           -2(在原有基础上-2)

      BELOW(低)    THREAD_PRIORITY_BELOW_NORMAL        -1(在原有基础上- 1)

      NORMAL(标准)    THREAD_PRIORITY_NORMAL          不变(取进程优先级值)

      ABOVE(高于标准)  THREAD_PRIORITY_ABOVE_NORMAL      +1(在原有基础上+1)

      HIGHEST(高)     THREAD_PRIORITY_HIGHEST              +2(在原有基础上+2)

      CRITICAL(最高)   THREAD_PRIORITY_TIME_CRITICAL    如果进程优先级为realtime则调整为31其它情况为1 

      So,常用的桌面系统,都是分时操调度,根据线程的优先级来分配调度时间。

      参考:http://wenku.baidu.com/view/9e373c2aed630b1c59eeb5e6.html

  • 相关阅读:
    python RabbitMQ队列/redis
    python 协程
    Python 线程
    Python Socket网络编程
    Python 面向对象编程进阶
    Python 面向对象
    python 模块
    Python 迭代器&生成器&装饰器
    Python 集合操作
    Java多态--构造方法的内部方法多态
  • 原文地址:https://www.cnblogs.com/tekkaman/p/2986610.html
Copyright © 2011-2022 走看看