背景:在一台比较老的计算机上做的图像实时采集与绘制,同时还要显示温度场,单线程工作太卡
方案:AfxBeginThread在MFC中不需要添加额外的头文件
UINT ThreadProc(LPVOID lParam)
{
CDemoDlg *pWnd = (CDemoDlg *)lParam;
pWnd->KMeansSegment();
return 1;
}
void CDemoDlg::KMeansSegment()
{
// 执行、处理部分代码
}
void CDemoDlg::OnKMeansSegment()
{
AfxBeginThread(ThreadProc, (LPVOID)this);//开启新线程
} //or 直接使用 AfxBeginThread(ThreadProc,this);
我的线程是随着主线程结束一同结束的不需要关闭,如果需要结束线程的话可以通过PostThreadMessage(ThreadProc,WM_QUIT,0,0);给这个线程发送消息,线程就会结束。