创建/设置优先级如下:
m_pProcessDataThread=AfxBeginThread(ProcessDataThread,THREAD_PRIORITY_NORMAL,NULL);
m_pRecvFileThread->SetThreadPriority(THREAD_PRIORITY_BELOW_NORMAL); 说明:
1/ ProcessDataThread线程中为十分耗时的操作!
2/ 界面在主线程处理的!
问题:
1/ 上面的方法设置优先级能不能起到作用?
2/ 怎么设置成:THREAD_PRIORITY_ABOVE_NORMAL & THREAD_PRIORITY_IDLE 效果没有什么差
别?(仍然占用系统资源厉害,并影响到了界面刷新!,明显感觉到机器很慢!)
m_pProcessDataThread=AfxBeginThread(ProcessDataThread,THREAD_PRIORITY_NORMAL,NULL);
m_pRecvFileThread->SetThreadPriority(THREAD_PRIORITY_BELOW_NORMAL); 说明:
1/ ProcessDataThread线程中为十分耗时的操作!
2/ 界面在主线程处理的!
问题:
1/ 上面的方法设置优先级能不能起到作用?
2/ 怎么设置成:THREAD_PRIORITY_ABOVE_NORMAL & THREAD_PRIORITY_IDLE 效果没有什么差
别?(仍然占用系统资源厉害,并影响到了界面刷新!,明显感觉到机器很慢!)
解决方案 »
- OnSize()中如何判断当前进行的是还原操作??
- 如何获取桌面图标名称?
- 分少,没人理,另开贴发问,UDP 文件校验码的问题?
- 如何在CDaoRecordset::Requery()查询结果中再次进行查询
- 请问如何在windows SDK编程中使用SkinMagic
- 通过双击文件,怎样使windows调用我自己编的程序打开这个文件?
- 调查一下,关于C++的异常处理?
- Vc下如何实现对软盘进行绝对读写??
- 关于COM接口参数???
- 高分求教!各位大大请进!!!好茶伺候!
- 在vc中写串口通信程序,如何知道收到的数据是一帧,就是说如何知道这个byte是下一帧的开始,或是上一帧的数据
- 在NT Service里调用 CDatabase::OpenEx 遇到的问题?
可以简单的加上一些Sleep。
有没有其它方法可用阿?!
是不是还有频繁的IO访问和大量内存分配是该从优化你的代码角度考虑
ProcessDataThread线程中为十分耗时的操作!那你应该在这个函数里面经常的调用pumpmessage---------------------------------------------->不知道是什么意思?!
什么20ms, 50ms,都是乱弹琴,---
: Chance is a gift for those who try
while (true)
{
}
运行时即使你把优先级设置为最低CPU的耗用率仍然是100%
至于楼上所说的Sleep问题,以下是MSDN对Sleep函数的解释.void Sleep(
DWORD dwMilliseconds
);Parameters
dwMilliseconds
[in] Minimum time interval for which execution is to be suspended, in milliseconds.
A value of zero causes the thread to relinquish the remainder of its time slice to any other thread of equal priority that is ready to run. If there are no other threads of equal priority ready to run, the function returns immediately, and the thread continues execution.A value of INFINITE indicates that the suspension should not time out.看到了吧?如果设置为0的话,除非还有同优先级的线程,否则Sleep会马上返回.等于没用嘛!
而且,如果ProcessDataThread十分耗时的话,建议还是不要用Sleep,因为在Sleep时你的线程
只是在等待,虾米都不会做,这将导致所需的时间更长!
循环里用Sleep(0)应该是解决的好办法。主线程需要运行的时候就把cpu交给主线程。否则就自身满负荷运行。---
: Chance is a gift for those who try