小盒子的小盒

【原创】VC2005 线程的实现

0
阅读(2005)

如何在VC2005中实现线程的创建以及参数的传递,下面将做一个简单的总结。

1.首先传递参数的定义及声明

struct threadinfo {
 int flag;
 CString *display;
};
threadinfo Info;

2.参数初始化及启动线程

 DWORD  ThreadAcceptID =0;
 HANDLE  hThread = NULL;

 Info.flag = 0;
 Info.display = &m_recv;    //IDC_EDIT_DIS CString变量

 UpdateData(false);

 hThread = CreateThread(NULL,0,(LPTHREAD_START_ROUTINE)MyThread,&Info,NULL,&ThreadAcceptID);
 Sleep(1000);

3.线程函数

DWORD  WINAPI  MyThread( LPVOID pParameter)
{
 threadinfo *pInfo = (threadinfo *)pParameter;
 pInfo->display->SetString("Small");
 pInfo->display->Append("Box");
 return 0;
}

4.经过以上函数并不能编译完全通过还需要声明一下该线程

在该文件的顶部声明:

DWORD  WINAPI  MyThread( LPVOID pParameter);

5.OK 编译通过、测试正确。

好久都没有弄VC编程了,最近需要搞一下,捡起来的时候才发现自己忘了很多了。一年多没有用VC了。以后还需要多多的编程啊,否则时间过得太长,还真容易忘~~~~