关于线程构造函数

dinglbo 2009-08-26 10:58:13
偶见一源代码中存在这么使用CWinThread的:
pThread = new CWinThread(StartServer, (LPVOID)this);
其中StartServer是这样定义的:
unsigned int StartServer(LPVOID lParam);

我翻了一下CWinThread的头文件,没发现有两个参数的构造函数啊?这该怎么解释呢?

我以前用Java的,知道里面用多线程,只需重写那个Run(),在里面执行自定义代码就可以了,我想知道在MFC里面怎么用这个多线程呢?CWinThread能达到要求吧?不知道怎么用。。。
希望有源代码帮助!
...全文
134 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
MoXiaoRab 2009-08-26
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 feilinhe 的回复:]
LZ应该从Java的观念转变过来,不要用Java的变成方式来用C++
[/Quote]
YES
zxc4712 2009-08-26
  • 打赏
  • 举报
回复
CWinThread* pWinThread = AfxBeginThread(StartServer, (LPVOID)this);
feilinhe 2009-08-26
  • 打赏
  • 举报
回复
LZ应该从Java的观念转变过来,不要用Java的变成方式来用C++
greatws 2009-08-26
  • 打赏
  • 举报
回复
CWinThread* pWinThread = AfxBeginThread(StartServer, (LPVOID)this);
应该是这样的吧
lizhigang34 2009-08-26
  • 打赏
  • 举报
回复
是你看错了吧,或者是别人自己写的类,查了MSDN里CWinThread没有带参数的构造函数.
直接用AfxBeginThread启动一线程就好了
雪影 2009-08-26
  • 打赏
  • 举报
回复
MFC源代码中有带两个参数的CWinThread构造函数
CWinThread::CWinThread(AFX_THREADPROC pfnThreadProc, LPVOID pParam)
{
m_pfnThreadProc = pfnThreadProc;
m_pThreadParams = pParam;
CommonConstruct();
}


pThread = new CWinThread(StartServer, (LPVOID)this);
pThread->CreateThread();

带参数的构造函数和不带参数的构造函数的区别是,有参数的构造函数直接运行线程函数.
不带参数的直接运行CWinThread::InitInstance函数.
lygfqy 2009-08-26
  • 打赏
  • 举报
回复
其实java和c的区别并不太大
你和java一样的用法基本就ok
不就是建立一个线程,然后按照线程的函数处理逻辑嘛
run也可以,cwinthread也是带的,要自己定义一个也可以,都一样
dinglbo 2009-08-26
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 feilinhe 的回复:]
LZ应该从Java的观念转变过来,不要用Java的变成方式来用C++
[/Quote]

多谢,不过我还是想知道怎么用这个多线程。。。
我只需要简单的应用,又不处理什么临界资源相关的问题。。。
只要简单的应用!
dinglbo 2009-08-26
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 greatws 的回复:]
CWinThread* pWinThread = AfxBeginThread(StartServer, (LPVOID)this);
应该是这样的吧
[/Quote]
人家那是创建一个对象,不一定非得用这种方法吧。。。
dinglbo 2009-08-26
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 lizhigang34 的回复:]
是你看错了吧,或者是别人自己写的类,查了MSDN里CWinThread没有带参数的构造函数.
直接用AfxBeginThread启动一线程就好了
[/Quote]

我也是查源代码看没有那样的声明的。。。
但那样用就能通过编译!我不明白这是怎么回事!

16,551

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Creator Browser
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧