VC++多线程开发总结如下:
//===========================================================
//数据定义struct structThreadData
{
bool bCutPaperState;
// 同步事件
CEvent m_eventStart;
CEvent m_eventEnd;
};
structThreadData g_structThreadData;
//===========================================================
// 线程函数
UINT WINAPI thread_Fun(LPVOID lpVoid)
{
// get data pointer
structThreadData*lpData = structThreadData*)lpVoid;
// notify that the thread begins
lpData->m_eventStart.SetEvent();
// main body of the thread
while(lpData->bCutPaperState;)
{
// TODO something here
}
// notify that the thread ends
lpData->m_eventEnd.SetEvent();
return TRUE;
}
//===========================================================
//线程启动
void threadBegin_CutPaper_ManualChangeSpeed()
{
g_structThreadData.m_eventStart.ResetEvent();
g_structThreadData.m_eventEnd.ResetEvent();
g_structThreadData.bCutPaperState = TRUE;
AfxBeginThread((AFX_THREADPROC)thread_Fun,&g_structThreadData);
}
//===========================================================
// 线程关闭
void threadEnd_CutPaper_ManualChangeSpeed()
{
// end thread
g_structThreadData.bCutPaperState = FALSE;
}
/*
内容:VC++多线程开发总结
作者:罗世洲 QQ370756740 xyy0215@qq.com
欢迎技术交流
*/