这样用合适吗?
// MyWnd.h
volatile BOOL m_bRunning;
CWinThread* m_pRun;
static UINT RunThread(LPVOID pParam);// MyWnd.cpp
static UINT CMyWnd::RunThread(LPVOID pParam)
{
CMyWnd* pWnd = (CMyWnd*)pParam;
pWnd->m_bRunning = TRUE;
ALongTimeWork();
pWnd->m_bRunning = FALSE;
return 0xdead;
}void CMyWnd::Run(void)
{
if (m_bRunning == FALSE)
{
m_pRun = AfxBeginThread((AFX_THREADPROC)RunThread, this);
}
}
// MyWnd.h
volatile BOOL m_bRunning;
CWinThread* m_pRun;
static UINT RunThread(LPVOID pParam);// MyWnd.cpp
static UINT CMyWnd::RunThread(LPVOID pParam)
{
CMyWnd* pWnd = (CMyWnd*)pParam;
pWnd->m_bRunning = TRUE;
ALongTimeWork();
pWnd->m_bRunning = FALSE;
return 0xdead;
}void CMyWnd::Run(void)
{
if (m_bRunning == FALSE)
{
m_pRun = AfxBeginThread((AFX_THREADPROC)RunThread, this);
}
}
UINT CMyWnd::RunThread(LPVOID pParam)
在PC中就无所谓了.不过在变量前面加上volatile,
显得很有水平啊,^-^