请教多线程的自动启动?

shupi 2000-08-10 10:04:00
1:我看关于多线程的资料,似乎启动线程都需要菜单指令,然我想在程序中,当窗口建立后,就自动启动线程,请教:怎样才能做到这一点?
...全文
214 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
panda_w 2000-12-30
  • 打赏
  • 举报
回复
在初始化的时候用AfxBeginThread启动就行了,第五个参数设置为默认!
kingwill 2000-08-11
  • 打赏
  • 举报
回复
常用两种方法。
1:窗口建立后,执行AfxBeginThread.但终止线程时,比较麻烦。有时你还必须用CloseHandle和TerminateThread来强行终止线程。这样容易造成内存泄露。
2:设置一个CEvent类对象,你可以控制他的信号量(分两种:被触发,未被触发),在建立线程时,设置线程挂起并等待信号。这样,在线程建立后(你可以提早建立线程,但它时被挂起的),你就可以想什么时候启动线程就启动线程。而且关闭也很方便。这是微软推荐做法。
另外,用CEvent类除了对工作者线程方便,对用户线程也很容易。
ppc207 2000-08-11
  • 打赏
  • 举报
回复
在这个窗口的初始化代码段中加入AfxBeginThread (),参数写入用户线程类的名字,
再.cpp文件中定义这个用户线程,就象使用函数一样。
mikokong 2000-08-10
  • 打赏
  • 举报
回复
用AfxBeginThread OK!
shupi 2000-08-10
  • 打赏
  • 举报
回复
是在app里还是在MainFrm里?因为使用在单文档多视里。
Larky 2000-08-10
  • 打赏
  • 举报
回复
用CreateThread就没问题啊!

15,471

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 进程/线程/DLL
社区管理员
  • 进程/线程/DLL社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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