首页 新闻 会员 周边 捐助

MFC中如何结束一个线程

0
悬赏园豆:10 [已关闭问题] 关闭于 2011-11-20 12:42

我有两个按钮,单击一个按钮触发一个消息响应,在这个消息响应中开了一个线程,该线程中有一个函数,在函数中有一个for循环,当运行时(此时程序一直在执行for循环里边的操作)我单击另外一个按钮,想终止这个线程的运行,如何操作?目前小弟的程序就只能写到这个地步了,大家看看如何改?谢谢各位大侠了……

void CTestDlg::OnBT1() //创建一个线程
{
// TODO: Add your control notification handler code here

THREADSTRUCT *_param = new THREADSTRUCT; //THREADSTRUCT 为一个结构体
_param->_this = this;

CWinThread* pThread;
pThread = AfxBeginThread (MyThread, _param);
}

UINT CTestDlg::MyThread(LPVOID param) //线程
{

THREADSTRUCT* ts = (THREADSTRUCT*)param;
ts->_this->MyFunction();
}

void CTestDlg::MyFunction() //在线程中要执行的函数
{
for(i = 0;i < 10000, i ++)
{
.........
}
}

void CUpdate_ToolDlg::OnButtonStop() //用来终止线程
{
PostThreadMessage(pThread->m_nThreadID,WM_TERM_THREAD,0,0); //WM_TERM_THREAD为自定义的消息,打算让线程获得
//该消息时终止

}
自作自受的主页 自作自受 | 初学一级 | 园豆:30
提问于:2011-11-20 11:17
< >
分享
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册