如何使用CreateThread()或AfxBeginThread()调用作为类成员函数的线程函数?求教。
解决方案 »
- Select IO模型 + 线程池收数据的问题(坐等结贴)
- 搜狗云输入法,一个普通用户的感受
- VS2008 调试
- 高分问题!一个函数在XP的professional和home下的不同结果
- MDI怎么通过菜单关闭子窗口??
- 非常简单的问题,如何在MFC规则DLL里定义全局变量??我是不是很傻?:(
- WM_PAINT和WM_NCPAINT的区别
- 在CRecordset里查询记录的问题
- 在消息处理函数里显示messagebox为什么出错???(在线等待)
- MCI多媒体接口
- vc中如何打开和关闭oracle数据库?
- (100)从文本文件得到最后一行数据,并用net send 发送出去,得不到我想要的格式
unsigned long __stdcall MyDispatchFunc(LPVOID lpParam)
{
MyClassConsole * pCC = (MyClassConsole*)lpParam;
return pCC->StillThreadProcess();
}class MyClassConsole
{
public:
MyClassConsole();
virtual ~MyClassConsole();
friend unsigned long __stdcall MyDispatchFunc(LPVOID lpParam);
private:
UINT StillThreadProcess(void);
private:
UINT m_nThreadID;
public:
BOOL Start(void);
BOOL Stop(void);
};void MyClassConsole::Run()
{ ::CreateThread(NULL,
0,
BSocketConsoleDispatchFunc,
(LPVOID)this,
0,//CREATE_SUSPENDED,
(unsigned long*)&m_nThreadID);
}
俺一般声明 友元函数
unsigned long __stdcall MyDispatchFunc(LPVOID lpParam)
{
MyClassConsole * pCC = (MyClassConsole*)lpParam;
return pCC->StillThreadProcess();
}class MyClassConsole
{
public:
MyClassConsole();
virtual ~MyClassConsole();
friend unsigned long __stdcall MyDispatchFunc(LPVOID lpParam);
private:
UINT StillThreadProcess(void);
private:
UINT m_nThreadID;
public:
BOOL Start(void);
BOOL Stop(void);
};void MyClassConsole::Run()
{ ::CreateThread(NULL,
0,
MyDispatchFunc,//更正!!!!!
(LPVOID)this,
0,//CREATE_SUSPENDED,
(unsigned long*)&m_nThreadID);
}
{ ::CreateThread(NULL,
0,
MyDispatchFunc,//更正!!!!!
(LPVOID)this,
0,//CREATE_SUSPENDED,
(unsigned long*)&m_nThreadID);
}