描述:
开发环境 VS2008,WINCE6.0
注意:同样的代码平台为WIN32桌面平台时运行正常,能执行MyThread()里的内容;
目标平台选择WINCE6.0时,不能执行MyThread(),但线程通过查看“线程”里是有生成这个线程里,只是不明白为何没有切换到MyThread执行(见附图)
线程:
//------------------thread test-----------------------------------------------
DWORD WINAPI MyThread(LPVOID lpvThreadParm)
{
int i=0;
while(1)
{
i++;
Sleep(1000);
}
return 1;
}
//------------------thread test-----------------------------------------------
在另一个主程序里里,基于QT开发
MainWindow::MainWindow(QWidget *parent, Qt::WFlags flags)
: QMainWindow(parent, flags)
{
...
HANDLE handle=0;
handle=CreateThread(NULL,0,MyThread,NULL,0,NULL);
...
}
解决方案1:
有没有可能是被优化了?
你可以试试在 while 中增加一些 LOG 输出,或者实际的功能以防止被优化