vc++中怎样创建线程,及怎样编写线程函数

来源:百度知道 编辑:UC知道 时间:2024/06/15 10:45:23
vc++中怎样创建线程,及怎样编写线程函数
麻烦写详细些。
谢谢了。

线程函数为静态成员函数或者全局函数,
DWORD ThreadFunc(PVOID pVoid)
{
//线程代码
return 0;
}

static DWORD ThreadFunc(PVOID pVoid);
DWORD CMyClass::ThreadFunc(PVOID pVoid)
{
//线程代码
return 0;
}

启动线程使用afxbeginthread()
或者::CreateThread(NULL, 0, ThreadFunc, NULL, NULL, NULL);

DWORD CALLBACK ThreadFunc(PVOID pVoid)
{
//线程代码
return 0;
}

在想用线程的地方这样:
::CreateThread(NULL, 0, ThreadFunc, NULL, NULL, NULL);

买本书,好好看下原理把,线程方面,会有很多信号,锁等等东西,想学好vc还是要买本厚点的书,啃啃啊~~

AfxBeginThread()
具体可以参考MSDN

UINT ComputeThreadProc(LPVOID pParam);
UINT ComputeThreadProc1(LPVOID pParam);

CWinThread* pThread = AfxBeginThread(ComputeThreadProc,GetSafeHwnd(),THREAD_PRIORITY_NORMAL);
CWinThread* pThread1 = AfxBeginThread(ComputeThreadProc1,GetSafeHwnd(),THREAD_PRIORITY_NORMAL);

UINT ComputeThreadProc(LPVOID pParam)
{
retun 1;
}