Why the following codes works first "for loop" and then "progressbar" but not parallerly?



Code:
void CProgressbarDlg::OnButton1() 
{
hThread=AfxBeginThread(ThreadFunc,&m_Progress,THREAD_PRIORITY_HIGHEST);


   for(int i=0;i<50000;i++)
   {
		m_edit=m_edit+"C";
		
		UpdateData(FALSE);
   }
   
//   hThread->SuspendThread();
   
}


UINT ThreadFunc(LPVOID param1) 
{ 
   CProgressCtrl *param=(CProgressCtrl*)param1;
   BOOL d=TRUE;
	param->SetRange(1,10);
	while(1)
	{
		if (d) 	
		{
			param->SetPos(param->GetPos()+1);
			if (param->GetPos()==10)
				d=FALSE;
		}
		else
		{
			param->SetPos(param->GetPos()-1);
			if (param->GetPos()==1)
				d=TRUE;
		}
		Sleep(500);
	}
	return 0;
}