《C++笔记》》 Part8 MFC中的AfxBeginThread的使用方法
2018-02-02 15:19
465 查看
《C++笔记》》 Part8 MFC中的AfxBeginThread的使用方法
参考:1、http://blog.csdn.net/oceanlucy/article/details/7345057
2、http://blog.csdn.net/u012370255/article/details/27639601
1、【AfxBeginThread】参数,如果只是简单的传【int】类型的
//多线程函数的定义; UINT Thread1(int pParam) { int nSize = pParam; //你的其他处理代码。。。 return 0; } //多线程的使用部分; int nSize = 50; AfxBeginThread((AFX_THREADPROC)Thread1, (VOID*)nSize , THREAD_PRIORITY_NORMAL, 0, 0, NULL);
【AfxBeginThread】参数,如果要传多个参数或者传入结构体
//定义一个全局的结构体; typedef struct SthData { int iStr; int iEnd; }*pSthData; //多线程函数的定义; VOID Thread1(LPVOID lpParam) { //获得结构体中的值; SthData* pStcSthData = (SthData *)lpParam; int iStr = pStcSthData->iStr; int iEnd = pStcSthData->iEnd; //你的其他处理代码。。。 //最后记得删除结构体的指针并指向NULL; delete pStcSthData; pStcSthData = NULL; } //多线程的使用部分; pSthData pDataValue1 = new SthData; memset(pDataValue1, 0x00, sizeof(SthData)); pDataValue1->iStr = 0; pDataValue1->iEnd = 10; AfxBeginThread((AFX_THREADPROC)Thread1, pDataValue1, THREAD_PRIORITY_NORMAL, 0, 0, NULL);
注:结构体创建后在析构时需要:
delete pDataValue1 ; pDataValue1 = NULL; //防止野指针
否则在调试传参时,看到的结构体内部数据为乱码。
相关文章推荐
- 在MFC中使用AFXBEGINTHREAD的方法
- 使用MFC中的AfxBeginThread创建多线程
- C++ AfxBeginThread和AfxEndThread 使用方法
- 使用MFC中的AfxBeginThread创建多线程
- MFC编程AfxBeginThread与CreateThread使用对比
- MFC编程AfxBeginThread与CreateThread使用区别
- 【原创】使用MFC中的AfxBeginThread创建多线程
- MFC创建线程01 AfxBeginThread
- MFC下暂停、继续、结束AfxBeginThread开启的线程
- AfxBeginThread创建和事件对象结束线程的方法
- 用户界面线程AfxBeginThread的使用
- 工作线程AfxBeginThread的使用
- 使用AfxBeginThread须注意的问题...
- mfc afxbeginthread()
- 工作线程AfxBeginThread的使用
- MFC下结束AfxBeginThread开启的线程的一些体会
- 工作线程AfxBeginThread的使用
- MFC全局函数::AfxBeginThread 函数
- 用户界面线程AfxBeginThread的使用
- MFC中 如何在类对象内部创建线程(AfxBeginThread())