请教一个子线程无法结束的问题 我用CreateThread创建子线程,线程启动方式suspend方式后再resume当系统的内存耗尽时,会出现无法Terminate该子线程的情况而且,我发现此时父线程Sleep了好几秒,都无法重新进入到该子线程这是什么缘故? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 我的父线程会不断的create以及terminate子线程可能用线程池能解决我的问题希望有经验的人能指点一二分不够可再加 耗尽内存是不容改变的事实因为我是用来显示很多幅图像(这儿的架构不允许我去改变了)当然,在程序中会判断内存情况,有个阈值,让它耗到一定比率就会开始释放一部分这个阈值不允许我去设置现在的方法是重复创建线程(目前是2千左右就会出问题)to zhoujianhe:我的程序会有什么问题?能不能说点你的经验或者猜想?比如子线程,父线程中都有sleep导致的? 现在的问题是内存耗完了,子线程也创建成功了但即使父线程sleep了子线程也一直分配不到时间片 不会吧.不断Create再Terminate???Terminate本来就不是推荐的做法.会造成线程占用的资源不能释放.当然会有资源泄漏.方法有问题.根据你的需要改为其他实现.比如楼上说的:线程池. 资源耗尽是我夸张的说法我的程序中会根据有可用物理内存判断的,用到一定程度时会调用释放内存的代码所以我的代码只会耗掉比较多的资源,我现在的问题是,为什么在这种情况下,子线程都被创建成功了,却无法获得父线程sleep时的系统时间片 方法的确是有问题的,我改为线程池后就ok不过很想了解CreateThread,Terminate这种方法的缺陷是阻塞么? 你去看看windows核心编程 你用的CreateThread,Terminate 这两个函数都是建议不要使用的 上面写的很详细! TerminateThread返回失败是吗?错误码是什么? TerminateThread返回成功的总之,现在的问题是创建成功的子线程获取不到CPU时间片哪怕系统CPU占用率在1%.我现在用了线程池就没这个问题了我先去看看windows核心编程怎么说的 请教:在MFC对话框的按钮的响应函数里面,用new申请的数组,要不要delete掉呢? 最近弄了个Visual Studio 2008简体中文版 求直线或曲线控件。 请问哪里有《VC++技术内幕》第四版,潘爱民写的,电子版下载 请教C++ 调用第三方DLL 如何写调用其中函数? 请教一个修改注册表的问题?谢谢 如何解载ie 关于用OUTLOOK收发邮件的问题(斑竹手下留情)奇怪的问题 vc中读取位深度为1的bmp的像素 如何写模糊查询(.mdb)? 虚拟机软件wmware如何实现一启动软件就自动启动某个虚拟机 MFC 规则DLL中输出类的调用问题
因为我是用来显示很多幅图像(这儿的架构不允许我去改变了)
当然,在程序中会判断内存情况,有个阈值,让它耗到一定比率就会开始释放一部分
这个阈值不允许我去设置现在的方法是重复创建线程(目前是2千左右就会出问题)to zhoujianhe:我的程序会有什么问题?能不能说点你的经验或者猜想?比如子线程,父线程中都有sleep导致的?
内存耗完了,子线程也创建成功了
但即使父线程sleep了
子线程也一直分配不到时间片
不会吧.不断Create再Terminate???
Terminate本来就不是推荐的做法.会造成线程占用的资源不能释放.当然会有资源泄漏.
方法有问题.根据你的需要改为其他实现.比如楼上说的:线程池.
方法的确是有问题的,我改为线程池后就ok
不过很想了解CreateThread,Terminate这种方法的缺陷是阻塞么?
上面写的很详细!
哪怕系统CPU占用率在1%.我现在用了线程池就没这个问题了我先去看看windows核心编程怎么说的