zoukankan      html  css  js  c++  java
  • 第七章 线程的调度、优先级和亲缘性(5)

    八、对优先级的抽象说明 Windows API展示了系统的调度程序上的一个抽象层,这样就永远不会直接与调度程序进行通信。 Windows 支持的优先级类 优先级类 描 述 实时 进程中的线程必须立即对事件作出响应, 以便执行关键时间的任务。该进程中的线程还会抢先于操作系统组件之前运行。使用本优先级类时必须极端小心 高 进程中的线程必须立即对事件作出响应,以便执行关键时间的任务。TaskManager(任务管理器)在这个类上运行,以便用户可以撤消脱离控制的进程 高于正常 进程中的线程在正常优先级与高优先级之间运行(这是Windows 2000中的新优先级类) 正常 进程中的线程没有特殊的调度需求 低于正常 进程中的线程在正常优先级与空闲优先级之间运行(这是 Windows 2000中的新优先级类) 空闲 进程中的线程在系统空闲时运行。该进程通常由屏幕保护程序或后台实用程序和搜集统计数据的软件使用 只有当绝对必要的时候,才可以使用高优先级类(Windows Explorer是在高优先级上运行的)。应该尽可能避免使用实时优先级类(管理员或特权用户的用户拥有“提高调度优先级”的权限,否则进程不能用实时优先级类来运行)。大多数进程都属于正常优先级类。 线程优先级 线程优先级 描 述 关键时间 实时优先级类,线程在优先级3 1上运行。其他优先级类,线程在优先级1 5上运行。 最高 线程在高于正常优先级的上两级上运行 高于正常 线程在正常优先级的上一级上运行 正常 线程在进程的优先级类上正常运行 低于正常 线程在低于正常优先级的下一级上运行 最低 线程在低于正常优先级的下两级上运行 空闲 实时优先级类,线程在优先级1 6上运行。其他优先级类,线程在优先级1上运行。 应用程序开发人员从来不必具体设置优先级。系统负责将进程的优先级类和线程的相对优先级映射到一个优先级上。0优先级保留供零页线程使用,系统不允许任何其他线程拥有 0优先级。 一般来说,大多数时候高优先级的线程不应该处于可调度状态。当线程要进行某种操作时,它能迅速获得CPU时间。这时线程应该尽可能少地执行C P U指令,并返回睡眠状态,等待再次变成可调度状态。相反,低优先级的线程可以保持可调度状态,执行大量的C P U指令来进行它的操作。
  • 相关阅读:
    Navicat for Mysql安装及破解教程
    如何down掉IB交换机口
    pycharm替换文件中所有相同字段方法
    NAS、SAN、ISCSI存储
    Linux系统下安装rz/sz命令及使用说明
    python 实现查找某个字符在字符串中出现次数,并以字典形式输出
    python class用法
    zookeeper
    机器学习基础
    hive--数据仓库
  • 原文地址:https://www.cnblogs.com/dyufei/p/2573994.html
Copyright © 2011-2022 走看看