Foxtable(狐表)用户栏目专家坐堂 → 出现闪退,是不是溢出了?


  共有2854人关注过本帖树形打印复制链接

主题:出现闪退,是不是溢出了?

帅哥哟,离线,有人找我吗?
zpsun2003
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:123 积分:1181 威望:0 精华:0 注册:2018/4/19 21:34:00
出现闪退,是不是溢出了?  发帖心情 Post By:2019/1/22 9:44:00 [只看该作者]

编写一个设计优化软件,经过计算后合格的参数存储到以下集合中:
                                                    txzjtxdzjhzz.add(txzjtxdzcs)    '铁芯直径
                                                    dyzsjhzz.add( dyzscs)    '低压匝数
                                                    dyxghjhzz.add( dyxghcs)    '低压线规厚
                                                    dyxgkjhzz.add( dyxgkcs)    '低压线规宽
                                                    dydtezxjljhzz.add( dyxqdtezxjlcs)   '低压线圈到铁扼最小距离
                                                    gycsjhzz.add( gyxqcscs)  '高压线圈层数
                                                    gyxghjhzz.add( gyxghcs)  '高压线规厚
                                                    gyxgkjhzz.add( gyxgkcs)  '高压线规宽
                                                    dyydgsjhzz.add( dyydgscs)  '低压油道个数
                                                    gyydgsjhzz.add( gyydgscs)   '高压油道个数
                                                    dybydgsjhzz.add( dybydgscs)  '低压半油道个数
                                                    zkdccjhzz.add( zkdcccs)   '主空道个数
                                                    gybydgsjhzz.add( gybydgscs)  '高压半油道个数
                                                    txgdykdbjhzz.add( txgdykdbcs)  '高压高度与宽度比
                                                    txcgym0bjhzz.add( txcgym0bcs)  '高压窗高与M0比
                                                    cbjgjhzz.add( cbjgcs)    '成本价格
                                                    kzshjhzz.add( kzshsjzcs )  '空载损耗
                                                    kzdljhzz.add( kzdlsjzcs)  '空载电流
                                                    fzshjhzz.add( fzshsjzcs)  '负载损耗
                                                    zshjhzz.add( zshsjzcs)  '总损耗
                                                    dlzkjhzz.add( zkdysjzcs)  '短路阻抗
                                                    dyxqwcjhzz.add( dyrzwccs)  '低压线圈温差
                                                    gyxqwcjhzz.add( gyrzwccs)  '高压线圈温差
                                                    txctmdjhzz.add( txctmdcs ) '铁芯磁通密度
                                                    dydlmdjhzz.add( dydlmdcs)  '低压电流密度
                                                    gydlmdjhzz.add( gydlmdcs)  '高压电流密度
                                                    gyzdcjgzdyjhzz.add( gycjzdgzdycs ) '高压最大层间工作电压
                                                    gyxqdtejljhzz.add( gyxqdtejlcs)  '高压线圈到铁扼距离
                                                    gdydkgdcjhzz.add( gdydkgdccs)  '高低压电抗高度差
                                                    ydcwsjhzz.add( ydcwssjzcs)  '油顶层温升
                                                    dyxqwsjhzz.add( dyrzwssjzcs)  '低压线圈温升
                                                    gyxqwsjhzz.add( gyrzwssjzcs)  '高压线圈温升
这些集合都是定义的全局变量,集合长度多的时候可以到几百万或几千万,但运行时发现集合长度到100万多点就出现闪退,先暂时屏蔽以上集合后就不会出现闪退了。由于运算量大是通过调用线程计算的
1、是不是溢出导致的,有什么好的处理方式吗?
2、集合长度只有通过计算完成后才能确定,像这种情况,怎么存储这些数据好一些。

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/1/22 10:07:00 [只看该作者]

1、不能分批处理,比如每满1万行,就处理一次,清空集合,然后继续循环?

 

2、内存那里不能装太多数据的,请分批处理。具体问题做一个例子说明。


 回到顶部
帅哥哟,离线,有人找我吗?
zpsun2003
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:123 积分:1181 威望:0 精华:0 注册:2018/4/19 21:34:00
  发帖心情 Post By:2019/1/22 11:01:00 [只看该作者]

所有合格方案都要先存储下来,有没有方法可以存储大容量数据的,用集合或数组?

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/1/22 11:14:00 [只看该作者]

 

存储下来,不是存储在表格里面么?没1万行存储一次不行么?

 


 回到顶部
帅哥哟,离线,有人找我吗?
zpsun2003
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:123 积分:1181 威望:0 精华:0 注册:2018/4/19 21:34:00
  发帖心情 Post By:2019/1/22 12:21:00 [只看该作者]

因为现在存储在集合中的参数是一系列合格方案,我要统计出这些方案中最优的一部分方案再存到表中,都存储到表中太影响速度了吧,而且多的时候要几百万上千万的

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/1/22 12:32:00 [只看该作者]

以下是引用zpsun2003在2019/1/22 12:21:00的发言:
因为现在存储在集合中的参数是一系列合格方案,我要统计出这些方案中最优的一部分方案再存到表中,都存储到表中太影响速度了吧,而且多的时候要几百万上千万的

 

先在1万数据取最优,再在另1万取最优,最后,处理的数据,不是又少了?

 

具体问题做个例子测试。

 

 


 回到顶部
帅哥哟,离线,有人找我吗?
zpsun2003
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:123 积分:1181 威望:0 精华:0 注册:2018/4/19 21:34:00
  发帖心情 Post By:2019/1/22 14:19:00 [只看该作者]

我现在想都放到一个集合里按照成本最优,或性能最优,或其他条件可以任意的筛选,排序,原始集合里的内容没有变。就像把数据先存到表里,再在表里进行排序和筛选一样,要是从一开始就按照一个条件去筛选或排序集合,不是很灵活。

 回到顶部
帅哥哟,离线,有人找我吗?
zpsun2003
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:123 积分:1181 威望:0 精华:0 注册:2018/4/19 21:34:00
  发帖心情 Post By:2019/1/22 14:23:00 [只看该作者]

老师,还有一个问题:由于运算量大,我现在采用调用线程进行运算和把线程内容写入一个内部函数,通过异步调用内部函数去运算,哪个更好一些

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/1/22 14:48:00 [只看该作者]

以下是引用zpsun2003在2019/1/22 14:19:00的发言:
我现在想都放到一个集合里按照成本最优,或性能最优,或其他条件可以任意的筛选,排序,原始集合里的内容没有变。就像把数据先存到表里,再在表里进行排序和筛选一样,要是从一开始就按照一个条件去筛选或排序集合,不是很灵活。

 

实例发上来测试。


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/1/22 14:49:00 [只看该作者]

以下是引用zpsun2003在2019/1/22 14:23:00的发言:
老师,还有一个问题:由于运算量大,我现在采用调用线程进行运算和把线程内容写入一个内部函数,通过异步调用内部函数去运算,哪个更好一些

 

基本都差不多,异步调用,就是多线程。只是帮你省去多线程的代码。

 


 回到顶部
总数 12 1 2 下一页