MFC中子线程如何创

来源:百度知道 编辑:UC知道 时间:2024/09/20 09:35:49
我想用CreateThread()函数
请问线程函数放在哪
全局函数放在哪

先定义好线程函数在调用

AfxBeginThread
CWinThread* AfxBeginThread( AFX_THREADPROC pfnThreadProc, LPVOID pParam, int nPriority = THREAD_PRIORITY_NORMAL, UINT nStackSize = 0, DWORD dwCreateFlags = 0, LPSECURITY_ATTRIBUTES lpSecurityAttrs = NULL );

CWinThread* AfxBeginThread( CRuntimeClass* pThreadClass, int nPriority = THREAD_PRIORITY_NORMAL, UINT nStackSize = 0, DWORD dwCreateFlags = 0, LPSECURITY_ATTRIBUTES lpSecurityAttrs = NULL );

线程函数首先必须是个函数,所以不可能放在别的函数里。
线程函数必须是全局性的函数,可以是不属于任何类的纯粹的全局函数,也可以是某个类的静态成员函数,我觉得写成类的静态成员函数比较好。
现成函数的修饰符,返回值,参数都有严格要求,并且根据启动方式不同,要求也不一样。
详见MSDN。

放在BOOL CThreadApp::InitInstance()中或
放在BOOL CThreadDlg::OnInitDialog()中或
放在 void CThreadDlg::OnOK()中都可以.
要看你的需要.