开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

用微信号发送消息登录论坛

新人指南 邀请好友注册 - 我关注人的新帖 教你赚取精币 - 每日签到


求职/招聘- 论坛接单- 开发者大厅

论坛版规 总版规 - 建议/投诉 - 应聘版主 - 精华帖总集 积分说明 - 禁言标准 - 有奖举报

查看: 2159|回复: 8
收起左侧

[求助] hp socket 多客户多线程处理 出现内存分配错误

[复制链接]
结帖率:86% (12/14)
发表于 2022-5-30 23:37:21 | 显示全部楼层 |阅读模式   河南省濮阳市
模块:https://bbs.125.la/thread-14695266-1-1.html
问题描述:
hp socket 多客户多线程处理 出现内存分配错误 随着客户上线增多 数据每秒要处理很多 时间一长 程序占ram越来越多最后出现崩溃

[img=339,241]blob:https://bbs.125.la/e8bf6f00-ba82-4a04-bdc5-afb15f20632a[/img]

该问题应该如何解决?
由于项目特殊性不能上传完整的源代码

[img]blob:https://bbs.125.la/569f80b4-2a24-46c0-a729-6627aa8dbf47[/img] [img]blob:https://bbs.125.la/74765372-3ff5-45fa-bcc8-dff088d422ec[/img] [img]blob:https://bbs.125.la/741112a0-e88b-4cac-95f3-716f59e5bdf0[/img]
结帖率:94% (15/16)

签到天数: 3 天

发表于 2022-5-31 03:18:22 | 显示全部楼层   吉林省四平市
很简单,把请求压入到队列,另外开启线程池从队列提取数据,队列可用鱼刺队列,尽量不用HP的多线程,就可控了
回复 支持 反对

使用道具 举报

结帖率:95% (63/66)

签到天数: 13 天

发表于 2022-5-31 04:30:19 | 显示全部楼层   安徽省淮南市
目前论坛上面大部分例子都是不稳定或者没办法多线程处理,直接上线程池吧
1 ITcpServer使用程序集声明 不要用全局

2 数据到达后把指针和数据长度传递给线程池处理(注意下指针和长度是子程序里面的 完成后就清除了 不要使用线程池等待 会卡死 可以先写内存在调用)

3线程池里面使用许可证避免同时大并发处理

50BI太少了 给2000币可以给你传个稳定例子

回复 支持 反对

使用道具 举报

结帖率:95% (63/66)

签到天数: 13 天

发表于 2022-5-31 04:31:21 | 显示全部楼层   安徽省淮南市
2000币给你一个稳定线程池例子 随便怎么糟蹋不崩溃
回复 支持 反对

使用道具 举报

结帖率:94% (34/36)

签到天数: 9 天

发表于 2022-5-31 08:25:56 | 显示全部楼层   广东省东莞市
你这个要使用内存池,数据在发送前先传内存池,从池时取出再发送, 我之前也遇到过类似问题 直接造成软件闪退的情况。

补充内容 (2022-5-31 11:34):
https://bbs.125.la/thread-14695266-9-1.html  这个人家好像是解决了的

补充内容 (2022-5-31 11:35):
源码在55楼
回复 支持 反对

使用道具 举报

签到天数: 24 天

发表于 2022-5-31 09:45:31 | 显示全部楼层   湖南省长沙市
我也遇到过,同样的写法,这个版本老是出现内存分配失败,后来用英文原版模块没精简的,就没一点问题
回复 支持 反对

使用道具 举报

结帖率:25% (1/4)

签到天数: 7 天

发表于 2022-5-31 12:01:33 | 显示全部楼层   江西省南昌市
这个问题的解决其实非常简单,那就是不要使用HPS模块中自带的IBufferPtr类的功能,这个自带的IBufferPtr类在处理内存分配及销毁时存在问题,在多线程使用时经常出现内存访问错误而导致你的成崩溃,尤其是数据量大的时候,崩溃特别频繁,严重影响系统稳定性,可以考虑使用其他数据缓冲池代替,比如使用磁盘组包技术代替(可以论坛搜索相关模块)即可解决问题,此磁盘组包模块的接口和HPS模块自带的IBufferPtr完全一致可实现无缝替换不需要修改现有代码。当然也可以自己按照IBufferPtr的接口样式手撸一个内存组包的替代功能(数据量大的场合还是建议磁盘组包合适)。
回复 支持 反对

使用道具 举报

结帖率:85% (11/13)

签到天数: 24 天

发表于 2022-5-31 12:15:39 | 显示全部楼层   浙江省台州市
用最新的5.88吧
回复 支持 反对

使用道具 举报

结帖率:100% (5/5)

签到天数: 11 天

发表于 2022-6-1 01:27:45 | 显示全部楼层   广东省汕尾市
看了那么多评论7楼的说到了点子上了!搞这高并发又是大数据传送在易语言来说是非常难的因此本人断断续续搞了两年才小有点成就,但还是有短板,也只能寄托在火山上了!
回复 支持 反对

使用道具 举报

  高级模式
B Color Image Link Quote Code Smilies |上传

本版积分规则 致发广告者

发布主题 收藏帖子 返回列表

sitemap| 易语言源码| 易语言教程| 易语言论坛| 易语言模块| 手机版| 广告投放| 精易论坛
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
论坛帖子内容仅用于技术交流学习和研究的目的,严禁用于非法目的,否则造成一切后果自负!如帖子内容侵害到你的权益,请联系我们!
防范网络诈骗,远离网络犯罪 违法和不良信息举报电话0663-3422125,QQ: 793400750,邮箱:wp@125.la
Powered by Discuz! X3.4 揭阳市揭东区精易科技有限公司 ( 粤ICP备12094385号-1) 粤公网安备 44522102000125 增值电信业务经营许可证 粤B2-20192173

快速回复 返回顶部 返回列表