类成员函数创建线程
2013-08-22 10:17
357 查看
#include <iostream> using namespace std; #include <afx.h> #include <Windows.h> #include <afxwin.h> CRITICAL_SECTION Section; int i = 0; class Sample { public: int Func(void); static UINT ThreadFunc1(LPVOID pParam); static UINT ThreadFunc2(LPVOID pParam); }; int Sample::Func() { AfxBeginThread(ThreadFunc1, this); AfxBeginThread(ThreadFunc2, this); cout<<"fun1 have start"<<endl; return 0; } UINT Sample::ThreadFunc1(LPVOID pParam) { Sample * pthis = (Sample*) pParam; /*pthis->Func();*/ /*while (1) { Sleep(1000); cout<<i<<endl; i++; }*/ while (1) { EnterCriticalSection(&Section); Sleep(1000); cout<<"ThreadFunc1"<<endl; LeaveCriticalSection(&Section); } cout<<"threas start"<<endl; return 0; } UINT Sample::ThreadFunc2(LPVOID pParam) { Sample * pthis = (Sample*) pParam; /*pthis->Func();*/ while (1) { EnterCriticalSection(&Section); Sleep(1000); cout<<"ThreadFunc2"<<endl; LeaveCriticalSection(&Section); } cout<<"threas start"<<endl; return 0; } int main() { cout<<"thread in class"<<endl; InitializeCriticalSection(&Section); Sample sampletest; sampletest.Func(); Sleep( 5000000); return 0; }
输出:
此文件工程在:http://download.csdn.net/detail/lingxiu0613/5991319
相关文章推荐
- 并发编程: c++11 thread(Func, Args...)利用类成员函数创建线程
- 在类中使用_beginthreadex函数创建线程并访问该类中的数据成员
- 如何实现利用类成员函数创建线程 选择自 iceezone 的 Blog
- 多线程开发要点1:如何使用类的成员函数创建线程
- 如何实现类的成员函数创建线程
- 如何实现类的成员函数创建线程
- 创建线程调用类成员函数的方法。
- 如何实现类的成员函数创建线程
- 创建线程,让线程函数回调函数也像成员函数一样
- 线程创建函数与类成员函数
- 在类中使用类成员函数创建线程
- 类的成员函数做线程的创建
- 类成员函数创建线程和MFC多线程UI更新问题
- 如何实现类的成员函数创建线程
- 如何实现利用类成员函数创建线程
- 如何实现类成员函数创建线程
- linux C++ 类成员函数中创建线程,且能访问类中其他成员变量
- 如何实现类的成员函数创建线程
- linux C++ 类成员函数中创建线程,且能访问类中其他成员变量
- 在类中创建成员函数线程的最优解决方法