wince中,在编写线程的时候,发现一个问题。如果在创建线程的时候不设置线程的优先级,会发现线程创建了两个及以上就会出现卡的情况。当设置了优先级后,就没有这样的情况了。在此记录一下该情况,免得到时忘记了。
下面是个例子:
DWORD idThread;
// 创建UI处理线程
hUiThread = ::CreateThread(NULL, 0, UiTread, NULL, CREATE_SUSPENDED, &idThread);
if(hUiThread == NULL){
AfxMessageBox(L"创建UI处理线程UiTread失败");
return FALSE;
}
::SetThreadPriority(hUiThread, THREAD_PRIORITY_LOWEST);
::ResumeThread(hUiThread);
而且,有些时候很有必要创建一个休眠的线程,等到后面才运行恢复线程。这样可以减少视觉上慢的情况出现。