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自带的线程优先级来设置线程优先级策略的方法是错误和非 ...
随机推荐
- [置顶] ※数据结构※→☆线性表结构(queue)☆============优先队列 链式存储结构(queue priority list)(十二)
优先队列(priority queue) 普通的队列是一种先进先出的数据结构,元素在队列尾追加,而从队列头删除.在优先队列中,元素被赋予优先级.当访问元素时,具有最高优先级的元素最先删除.优先队列具有 ...
- hdu 4055 Number String(有点思维的DP)
Number String Time Limit: 10000/5000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) T ...
- Maven的生命周期
每次读.每次忘,Mark一下以后忘记就不翻书了! Maven有三套相互独立的生命周期,各自是:clean.default.site. clean主要是清理项目. default是Maven最核心的的构 ...
- Cygwin的安装及在Android jni中的简单使用举例
Cygwin是一个在windows平台上执行的类UNIX模拟环境,是cygnussolutions公司开发的自由软件.Cygwin是很多自由软件的集合,Cygwin的主要目的是通过又一次编译.将POS ...
- swt,jface,rcp
//swt-jface-rcp,基本结构:display类,shell类,组件:widget窗口控件,control控件,composites面板,button,label,text文本框,list列 ...
- 【android】禁止Edittext弹出软键盘而且使光标正常显示
/** * 禁止Edittext弹出软件盘,光标依旧正常显示. */ public void disableShowSoftInput() { if (android.os.Build.VERSION ...
- oracle 在操作blob该字段是否会产生很多redo
操作blob该字段是否会产生很多redo,答案是否定的.以下来做一个实验,測试数据库版本号是11.2.0.1.0: --创建一张表做測试之用 create table test_blob ( id ...
- [Android学习笔记]LayoutParams的使用
LayoutParams的使用: 什么时候会用到此对象?动态布局,动态向ViewGroup中添加子view时,为子view设置此对象,目的是告诉父容器以何种方式呈现此子view LayoutParam ...
- 从iReport至Jaspersoft Studio
这篇文章同步到http://www.waylau.com/from-ireport-to-jaspersoft-studio/ 从5.5版本号開始,Jaspersoft Studio将代替iRepor ...
- cocos2d-x开关按钮类CCControlSwitch
在test项目中的ControlExtensionText\ CCControlSwitchTest目录下面的CCControlSwitchTest.cpp中,通过这个例子,我们也可以制作出不错的开关 ...