关于线程,一个小问题
void MyFunc(...)
{
if(...)
{
//do sth
}
else
{
_beginthreadex(...)//本质上是用_beginthreadex开始一个新线程(当然,其中还有一些细节操作)
if(!hThreadHandle)//其中hTreadHandle是新线程的句柄。
{
AfxMessageBox("error");
}
else
AfxMessageBox("ok");//这一句很关键。(1)
}//函数结束。
//下面是我的新线程
UINT WINAPI NewThread(....)
{
//主要操作是复制文件
}
问题是:如果加入(1),程序运行成功,新线程就可以完成。可是不加入(1),程序就出现错误(主要是不能完成新线程里面的操作)。这是为什么呢?怎么修改?