ceSetThreadPriority设置线程优先级~!
ceSetThreadPriority
一直採用SetThreadPriority,结果今天发帖询问线程时间问题,才突然顿悟。。。发现SetThreadPriority只设置248-255,也就是说就算是设为最高优先级,顶多是248.。。。差好远呢。。。而ceSetThreadPriority的设置范围是0-255,最高为0!!!我就说我的线程设置的优先级怎么没什么用。。。。。。NYYD。。。
初始化代码中的关键 Win32 API 调用是对 CeSetThreadPriority 的调用。此函数接受两个參数。第一个參数是线程句柄,第二个值介于 0-255 之间,用于描写叙述所需的优先级。选择使用哪个线程优先级很关键,而可以以图表表现应用程序优先级的使用,也有助于确保适当的性能。优先级从 0 至 247 的线程(0 表示最高优先级)是实时线程优先级,须要调用 CeSetThreadPriority 来訪问。一般线程优先级介于 248-255 之间,要使用
SetThreadPriority 进行訪问。下表提供了 Windows CE .NET 标准优先级实现的高速指南。
表 3:实时线程优先级:CeSetThreadPriority
| 优先级 | 组件 |
|---|---|
| 0-19 | 开放 - 高于驱动程序的实时 |
| 20 | Permedia 垂直折返 |
| 21-98 | 开放 - 高于驱动程序的实时 |
| 99 | 电源管理恢复线程 |
| 100-108 | USB OHCI UHCI、串行 |
| 109-129 | Irsir1、NDIS、触摸板 |
| 130 | KITL |
| 131 | VMini |
| 132 | CxPort |
| 133-144 | 开放 - 设备驱动程序 |
| 145 | PS2 键盘 |
| 146-147 | 开放 - 设备驱动程序 |
| 148 | IRComm |
| 149 | 开放 - 设备驱动程序 |
| 150 | TAPI |
| 151-152 | 开放 - 设备驱动程序 |
| 153-247 | 开放 - 低于驱动程序的实时 |
表 4:一般线程优先级:SetThreadPriority
| 优先级 | 组件 |
|---|---|
| 248 | 电源管理 |
| 249 | WaveDev、TVIA5000、鼠标、PnP、电源 |
| 250 | WaveAPI |
| 251 | 电源管理器电池线程 |
| 252-255 | 开放 |
一般来说,最先须要决定的是要确定关键线程是否须要驱动程序。假设关键线程须要驱动程序才干正常工作,而将它的优先级设定为高于驱动程序的优先级,则非常难获得好的性能。总之,时间关键型应用程序须要放在“高于驱动程序类别的实时”类别中,优先级范围为 0-98。
ceSetThreadPriority设置线程优先级~!的更多相关文章
- posix系统线程调度-设置线程优先级
#include <thread> #include <mutex> #include <iostream> #include <chrono> #in ...
- Android线程优先级设置方法技巧
对于Android平台上的线程优先级设置来说可以处理很多并发线程的阻塞问题, 比如很多无关紧要的线程会占用大量的CPU时间,虽然通过了MultiThread来解决慢速I/O但是合理分配优先级对于并发编 ...
- java 22 - 6 多线程之线程调度和设置线程的优先级
线程调度 假如我们的计算机只有一个 CPU,那么 CPU 在某一个时刻只能执行一条指令,线程只有得到 CPU时间片,也就是使用权,才可以执行指令. 那么Java是如何对线程进行调用的呢? 线程有两种调 ...
- Linux-pthread如何设置线程的优先级
设置线程优先级的函数: int pthread_setschedparam(pthread_t target_thread, int policy, const struct sched_param ...
- Cocos2dx中线程优先级
Cocos2dx中线程优先级问题 不论是ios还是android,遇到耗时的任务都要另起线程处理,否则程序不能及时用户的反馈.游戏中如果一圈循环不能在1/frameRate(帧率是30则1/30)秒内 ...
- [改善Java代码]线程优先级只使用三个等级
线程的优先级(priority)决定了线程获得CPU运行的机会,优先级越高获得的运行机会越大,优先级越低获得的机会越小.Java的线程有10个级别(准确的说是11个级别,级别为0的线程是JVM,应用程 ...
- Android 线程优先级
对于Android平台上的线程优先级设置来说可以处理很多并发线程的阻塞问题,比如很多无关紧要的线程会占用大量的CPU时间,虽然通过了MultiThread来解决慢速I/O但是合理分配优先级对于并发编程 ...
- JAVA并发,线程优先级
package com.xt.thinks21_2; import java.util.concurrent.ExecutorService; import java.util.concurrent. ...
- Netty的并发编程实践5:不要依赖线程优先级
当有多个线程同时运行的时候,由线程调度器来决定哪些线程运行.哪些等待以及线程切换的时间点,由于各个操作系统的线程调度器实现大相径庭,因此,依赖JDK自带的线程优先级来设置线程优先级策略的方法是错误和非 ...
随机推荐
- 从源代码角度分析ViewStub 疑问与原理
一.提出疑问 ViewStub比較简单.之前文章都提及到<Android 性能优化 三 布局优化ViewStub标签的使用>.可是在使用过程中有一个疑惑,究竟是ViewStub上设 ...
- 漫谈并发编程(六):java中一些经常使用的并发构件的介绍
CountDownLatch 它被用来同步一个或多个任务,强制它们等待其他任务运行的一组操作完毕. 你能够向CountDownLatch对象设置一个初始计数值,不论什么在这个对象上 ...
- QT 多线程程序设计(也有不少例子)
QT通过三种形式提供了对线程的支持.它们分别是,一.平台无关的线程类,二.线程安全的事件投递,三.跨线程的信号-槽连接.这使得开发轻巧的多线程Qt程序更为容易,并能充分利用多处理器机器的优势.多线程编 ...
- 检测用户是否具有administrator权限(OpenThreadToken,OpenProcessToken,GetTokenInformation,AllocateAndInitializeSid和EqualSid)
检测用户是否具有administrator权限const SECURITY_NT_AUTHORITY: TSIDIdentifierAuthority = (Value: (0, 0, 0, 0, 0 ...
- GNU GPL介绍
怎样在程序中使用GNU许可证 不管使用哪种许可证,使用时须要在每一个程序的源文件里加入两个元素:一个版权声明和一个复制许可声明.说明该程序使用GNU许可证进行授权.另外在声明版权前应该说明 ...
- C#验证字符串是否是数字,是否包括中文,是否是邮箱格式,是否是电话格式
using System; using System.Web; using System.Text; using System.Web.UI.WebControls; ...
- Linux 技巧之 Grub 超实用技巧
1. 简单介绍 什么是 GRUB?GRUB 全名Grand Unified Boot Loader,它是一个引导装入器 -- 它负责装入内核并引导 Linux 系统.GRUB 还能够引导其他操作系统, ...
- VSTO学习笔记(七)基于WPF的Excel分析、转换小程序
原文:VSTO学习笔记(七)基于WPF的Excel分析.转换小程序 近期因为工作的需要,要批量处理Excel文件,于是写了一个小程序,来提升工作效率. 小程序的功能是对Excel进行一些分析.验证,然 ...
- 使用EXCEL设置“下拉菜单”选项功能
原创作品.出自 "深蓝的blog" 博客.欢迎转载.转载时请务必注明出处,否则有权追究版权法律责任. 深蓝的blog:http://blog.csdn.net/huangyanlo ...
- 散文说python半篇——景观三元论与盖茨比的对话
今天, 天气晴朗,风和日丽: 我事实上在说谎-- 爱说谎事实上是我的天性 上个礼拜四我就用景观三元论说了非常多谎话.然后一头大象自己上吊了. 了不起的大象啊,盖茨比也要从坟墓里爬出来了吧, 陈年旧事, ...