字体
第(3/5)页
关灯
   存书签 书架管理 返回目录

    来调整进程内的线程优先级,Win32 进程的优先级如表9-2 所示,线程的优先级如表9-3 所

    示。

    表9-2 进程优先级列表

    优先级 优先级值

    ABOVE_NORMAL_PRIORITY_CLASS

    大于NORMAL_PRIORITY_CLASS,

    小于HIGH_PRIORITY_CLASS

    枫叶文学网www.fywxw.com

    Visual C++ 6.0 程序设计从入门到精通

    ·214·

    续表

    优先级 优先级值

    BELOW_NORMAL_PRIORITY_CLASS

    大于IDLE_PRIORITY_CLASS,

    小于NORMAL_PRIORITY_CLASS.

    HIGH_PRIORITY_CLASS 13

    IDLE_PRIORITY_CLASS 4

    NORMAL_PRIORITY_CLASS 9(前台)或7(后台)

    REALTIME_PRIORITY_CLASS 24

    表9-3 线程优先级列表

    优先级 级别

    THREAD_PRIORITY_ABOVE_NORMAL 比进程优先级高一级

    THREAD_PRIORITY_BELOW_NORMAL 比进程优先级低一级

    THREAD_PRIORITY_HIGHEST 比进程优先级高两级

    THREAD_PRIORITY_LOWEST 比进程优先级低两级

    THREAD_PRIORITY_NORMAL 与进程优先级相同

    THREAD_PRIORITY_TIME_CRITICAL 把线程优先级设为15

    THREAD_PRIORITY_IDLE 把线程优先级设为1

    (2)优先级的设置和获取

    可以通过调用Win32 API 函数GetThreadPriority 或SetThreadPriority 实现或修改线程优先级

    的功能,如果调用成功,返回线程的优先级,否则返回THREAD_PRIORITY_ERROR_RETURN。

    GetThreadPriority 的函数原型如下:

    int GetThreadPriority(

    HANDLE hThread

    );

    函数中主要参数的意义如下。

    ? hThread:线程的局柄。

    函数SetThreadPriority 用来设定线程的优先级,如果调用成功,返回非0,否则返回0。

    它的函数原型如下:

    BOOL SetThreadPriority(

    HANDLE hThread,

    int nPriority

    );

    函数中主要参数的意义如下。

    ? hThread:线程的局柄;

    ? nPriority:要设定的优先级。

    在本节最后给出的示例中,读者可以看到如何利用SetThreadPriority 设定一个线程的优

    先级。

    3.线程ID 的判断

    在创建线程的同时,系统会为每个线程生成一个线程I
上一页 目录 下一页