多线程的问题
下面这断程序,如果编译问题行,则运行结果只正确的,否则失错的。并且在调用thread线成后pParam出的内容变了。请问是怎么了?
谢谢!
UINT thread(LPVOID pParam)
{
char *no=(char*)pParam;
AfxMessageBox(no,MB_OK,NULL);
return 0;
}
void CThreadView::OnNewthread()
{
// TODO: Add your command handler code here
char text[11]={'a','b','c','d','e','f','g','h','i','j',0};
char add[10];
LONG r;int i;
for(i=0;i<10;i++)
add[i]=0;
r=(LONG)text;
itoa(r,add,16);
Thread=AfxBeginThread(thread,text,THREAD_PRIORITY_NORMAL,0,0,NULL);
CClientDC dc(this);
dc.TextOut (10,10,"Doing...");
/************************************/
AfxMessageBox(add,MB_OK,NULL);。。。。。。。问题行
/***********************************/
TerminateThread(Thread,0);
}