首页
新闻
论坛
群组
Blog
文档
下载
读书
Tag
网摘
搜索
.NET
Java
游戏
视频
人才
外包
培训
数据库
书店
程序员
欢迎您:
游客
| 退出
| 登录
注册
帮助
我的帖子
我参与的帖子
我的空间
我的网摘
CSDN
CSDN社区
VC/MFC
进程/线程/DLL
将帖子提前
放进我的网摘
推荐给好友
我要提问
帖子加分
生成帖子
置顶
推荐(加精)
取消推荐(加精)
锁定帖子
移动帖子
结贴去...
管理菜单
页面风格切换
标准风格
老版本论坛
内存分配问题急.
加为好友
发送私信
在线聊天
hainanxu
等级:
发表于:
2008-04-30 08:13:24
楼主
void CDomainG::OnTimer(UINT nIDEvent)
{
MyDefStr glTagMsg[100000];
// TODO: Add your message handler code here and/or call default
CEdit *CEXECUTE_TIME=(CEdit*)GetDlgItem(IDC_EDIT_EXECUTE_TIME);
CTime time=CTime::GetCurrentTime();
CEXECUTE_TIME->SetWindowText(time.Format("%Y-%m-%d %H:%M:%S"));
if(theApp.m_CONDITIONS=="现在执行")
{
if(thDomain=="1"){
thDomain="0";
for(int i=0;i <=DomainName_c;i++){
Domain_i++;
glTagMsg[i].pDlg=this;
glTagMsg[i].DomainName_c_i=i;
CWinThread* pThread = AfxBeginThread(MyThread,&glTagMsg[i],THREAD_PRIORITY_IDLE);
// pThread->ResumeThread();
}
}
}else{
if(thDomain=="1"&&time.Format("%H:%M:%S")>theApp.m_starttime&&time.Format("%H:%M:%S") <theApp.m_overtime){
// thDomain="0";
for(int i=0;i <=DomainName_c;i++){
Domain_i++;
glTagMsg[i].pDlg=this;
glTagMsg[i].DomainName_c_i=i;
CWinThread* pThread = AfxBeginThread(MyThread,&glTagMsg[i],THREAD_PRIORITY_IDLE);
//pThread->ResumeThread();
}
}
}
CDialog::OnTimer(nIDEvent);
}
运行时间过长的个话会出错.什么解决.但如果是直接关闭窗口什么让这些现成关闭掉
问题点数:
60
回复次数:
6
显示所有回复
显示星级回复
显示楼主回复
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
zoulie
落伍者
等级:
发表于:
2008-04-30 08:30:47
1
楼 得分:
0
MyDefStr glTagMsg[100000];
。。。。。。。。。。。。。。。。。。。。。。
你开的现程太多了 ,系统撑不住了,就挂了
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
hainanxu
等级:
发表于:
2008-04-30 08:37:21
2
楼 得分:
0
需要那么多线程什么办呢
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
jacklzw88
不可爱咯
等级:
发表于:
2008-04-30 08:43:02
3
楼 得分:
0
DomainName_c是多少?
在线程函数中操作glTagMsg的用临界区
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
jacklzw88
不可爱咯
等级:
发表于:
2008-04-30 08:44:55
4
楼 得分:
0
用线程池,没有一个程序说需要那么多线程的,多线程是相对的,你10000个线程,没10个线程速度快。你可以把处理任务放入队列,让10线程来处理。
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
zgl7903
VB新手
等级:
发表于:
2008-04-30 09:36:53
5
楼 得分:
0
设置个断点调试一下
进程正常启动后应该保留其句柄以便在合适的地方销毁进程
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
cnzdgs
回贴亦是善举
等级:
发表于:
2008-04-30 14:21:20
6
楼 得分:
0
每个线程的栈空间默认是1MB,最多开到1000多个时进程的地址空间就耗尽了。另外,局部动态变量不能作为参数传递给线程,因为函数返回时就释放了。
修改
删除
举报
引用
回复
将帖子提前
放进我的网摘
推荐给好友
我要提问
帖子加分
结贴去...
管理菜单
页面风格切换
标准风格
老版本论坛
网站简介
-
广告服务
-
网站地图
-
帮助
-
联系方式
-
诚聘英才
-
English
-
问题报告
世纪乐知(北京)网络技术有限公司 版权所有 京 ICP 证 020026 号
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
abc推荐给好友