多线程问题

romantic 2000-07-15 09:31:00
我目前正在做一个多线程的程序,碰到了不少难题,请各位大侠帮忙!!
1、我是用AfxBeginThread()来启动一个工作线程(除此未做任何其他操作)的,但在程序结束时,报错:(内存泄漏),好象是有甚麽资源未释放,并且好象是指我的线程 ??为甚麽,如何改正!!
2、由于我的程序并不需要各线程之间同步,(交由操作系统来分配时间),但现在我不知道怎样进行调试,当我在某个线程设置断点时,单步执行却会跳到其他线程中去,感觉上好象是我中断一个线程,并没有中断操作系统的时间分配,其他线程仍然在运行,是不是这个样子,那我又应该如何去调试呢??
...全文
151 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
zzh 2000-07-16
  • 打赏
  • 举报
回复
资源泄露的问题是当你的程序退出时,线程你没有关闭看,因此引起资源泄露,这个问题可以在线程主循环判断,当条件不满足时就退出主循环,或者在在程序结束之前,如果线程还在运行,可以强行终止线程。最好还是找点介绍线程的书看一下,你的函数体有问题。 单步调试线程是不行的,你可以在线程中用TRACE语句来查看输出结束,这样就可以调试了。线程这间同步也很重要。查一下MSDN,里面也有一些文章。如果还有问题,发EMAIL至:zzh1415@21cn.com.最好把你的源代码给我看一下。
crystal_zsp 2000-07-16
  • 打赏
  • 举报
回复
请问你是使用工作线程还是用户界面线程。
example:
UINT DemoThread(LPVOID pParam)
{
AfxMessageBox("Welcome to You") ;
return 0 ;
}

void CEx60Dlg::OnButton1()
{
// TODO: Add your control notification handler code here
AfxBeginThread(DemoThread,NULL,THREAD_PRIORITY_NORMAL) ;

}
调试通过。

15,471

社区成员

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

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