多线程程序异常之一 “类操作用作多线程”
来源:互联网 发布:淘宝扫不了照片怎么办 编辑:程序博客网 时间:2024/06/06 02:16
今天写了个程序需要使用多线程方法,然后查了MSDN得到如下说明:
Call this function to create a new thread.
CWinThread* AfxBeginThread( AFX_THREADPROC pfnThreadProc, LPVOID pParam, int nPriority = THREAD_PRIORITY_NORMAL, UINT nStackSize = 0, DWORD dwCreateFlags = 0, LPSECURITY_ATTRIBUTES lpSecurityAttrs = NULL );
Parameters
- pfnThreadProc
Points to the controlling function for the worker thread. Cannot be NULL. This function must be declared as follows:
UINT __cdecl MyControllingFunction( LPVOID pParam );
我就定义了一个类:
class ApplyClient
{
public:
ApplyClient();
virtual ~ApplyClient();
public:// Op
UINT StartServer(LPVOID pVoid);
private:
CSocket m_ListenSocket;//
};下面一段就会出错:error C2665: 'AfxBeginThread' : none of the 2 overloads can convert parameter 1 from type 'unsigned int (void *)'
CWinThread* m_AppClient= AfxBeginThread(StartServer, (LPVOID) this, THREAD_PRIORITY_BELOW_NORMAL);
到处查、不停的想(5个小时后)终于功夫不负有心人我找到了:原来在类中的操作与一般定义的全局函数不同,从而导致线程启动的失败。
解决方法:在类的声明修改为:
class ApplyClient
{
public:
ApplyClient();
virtual ~ApplyClient();
public:// Op
static UINT StartServer(LPVOID pVoid);
private:
CSocket m_ListenSocket;//
};加油!在C++专家之路上。
- 多线程程序异常之一 “类操作用作多线程”
- 多线程之一
- 多线程之一
- 多线程之一,多线程概述
- 多线程之一:简单多线程
- 多线程操作实用类
- 多线程程序中操作的原子性
- 多线程程序中操作的原子性
- 多线程程序中操作的原子性
- 多线程程序中操作的原子性
- 多线程程序中操作的原子性
- 多线程程序中操作的原子性
- 多线程程序中操作的原子性
- 多线程程序中操作的原子性
- 多线程程序中操作的原子性
- 多线程程序中操作的原子性
- 多线程程序中操作的原子性
- 多线程程序中操作的原子性
- zend架构的学习心得
- 我对上帝有意见!
- 表格行变色 live方式,用于ajax
- ERROR: ORA-01033: ORACLE initialization or shutdown in progress
- sql之truncate 、delete与drop区别
- 多线程程序异常之一 “类操作用作多线程”
- HTMLParser使用详解(2)
- Persistence 励志
- gcc 编译共享库 - 附gcc参数详解
- 美语系列139
- spring.ftl
- PL/SQL报无效的窗口句柄的解决办法
- ASP 编程中 20 个非常有用的例子
- 软件侵权迷局 揭开北塔闹剧的真相(转载)