开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

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

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


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

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

查看: 646|回复: 2
收起左侧

[已解决] 萌新来提问一些问题。各位大佬求解答下。感谢了。

 关闭 [复制链接]
结帖率:97% (30/31)
发表于 2021-12-14 02:03:34 | 显示全部楼层 |阅读模式   福建省福州市
11精币
想写一个带有死循环的工具,之前运用了时钟组件,运行久了程序内存会无限变大(时钟局部变量无限追加),最后报错,特来请教各位大佬。

1.程序_延迟()比延迟()好吗?
2.系统_处理事件()比处理事件()好吗?
3.如果 启动(&线程 )线程是死循环。软件运行久了,内存会增大和溢出不。
4.类_时钟 创建个死循环的时钟。内存会增大和溢出不。
5.死循环内添加 延迟 或者 处理事件,或者 许可证,是否可以减少内存会增大和溢出呢。
6.看到 在论坛看到一个  完美_线程时钟 能否有效解决内存会增大和溢出呢。

又没有最有效的解决方法,跪求大佬们解答了。



补充内容 (2021-12-14 02:08):
7.把时钟周期里的代码放到一个新建的子程序里,然后时钟周期里只 启动线程 去执行新建的子程序。是否内存每次都释放了。

最佳答案

查看完整内容

1.程序_延迟()比延迟()好吗? 程序_延迟()里有个循环检测事件的代码,有其他事件就释放控制权使其他操作优先执行,而基础库的 延时() 是固定等待系统延时那么长时间后,程序才会运行下一步的代码,延时过程中程序会处于假死状态,在延时过程中所有对程序进行的操作都会在延时结束后才会发生结果。 2.系统_处理事件()比处理事件()好吗? 系统_处理事件()也是进行了部分优化,舍弃了对部分条件的细判,具体可以自 ...

回答提醒:如果本帖被关闭无法回复,您有更好的答案帮助楼主解决,请发表至 源码区 可获得加分喔。
友情提醒:本版被采纳的主题可在 申请荣誉值 页面申请荣誉值,获得 1点 荣誉值,荣誉值可兑换荣誉会员、终身vip用户组。
快捷通道:申请荣誉值无答案申请取消悬赏投诉有答案未采纳为最佳

结帖率:100% (17/17)

签到天数: 13 天

发表于 2021-12-14 02:03:35 | 显示全部楼层   福建省泉州市

1.程序_延迟()比延迟()好吗?
程序_延迟()里有个循环检测事件的代码,有其他事件就释放控制权使其他操作优先执行,而基础库的   延时()   是固定等待系统延时那么长时间后,程序才会运行下一步的代码,延时过程中程序会处于假死状态,在延时过程中所有对程序进行的操作都会在延时结束后才会发生结果。

2.系统_处理事件()比处理事件()好吗?
系统_处理事件()也是进行了部分优化,舍弃了对部分条件的细判,具体可以自己查看精易模块源码

3.如果 启动(&线程 )线程是死循环。软件运行久了,内存会增大和溢出不。
内存增大溢出这些跟是否死循环无关,主要看是否持续申请占用新内存,还是要从执行的线程代码内进行优化

4.类_时钟 创建个死循环的时钟。内存会增大和溢出不。
同3

5.死循环内添加 延迟 或者 处理事件,或者 许可证,是否可以减少内存会增大和溢出呢。
参考3,许可证主要是用于避免多线程执行子程序时不同线程对同一组件或变量等的不同操作命令导致程序运行异常、崩溃,相当于让同一组件、变量等同一个时间内只接受一条线程的处理命令,不会因命令冲突而出错

6.看到 在论坛看到一个  完美_线程时钟 能否有效解决内存会增大和溢出呢。
参考3,主要还是看运行代码

7.把时钟周期里的代码放到一个新建的子程序里,然后时钟周期里只 启动线程 去执行新建的子程序。是否内存每次都释放了。
启动线程,线程运行结束后   关闭线程,理论上可行,未关闭线程的话,线程持续增加,崩得更快

评分

参与人数 2好评 +1 精币 +2 荣誉 +1 收起 理由
笨潴 + 1 热心帮助他人,荣誉+1,希望继续努力(*^__^*) 嘻嘻!
skyflb + 1 + 2 感谢分享,很给力!~

查看全部评分

回复

使用道具 举报

结帖率:100% (5/5)
发表于 2021-12-14 02:14:32 | 显示全部楼层   湖南省长沙市
1 程序_延迟()可以不卡线程。延迟会卡主线程
2.系统_处理事件()比处理事件()。感觉没啥区别
3.如果 启动(&线程 )线程是死循环。软件运行久了,内存增大和溢出主要看你是不是释放了申请的内存。只申请不释放肯定会溢出。
4.类_时钟 创建个死循环的时钟。内存会增大和溢出不。答案同上
5 减少溢出的方法是释放内存,加许可证只是为了避免线程冲突
6 答案同5

评分

参与人数 1好评 +1 精币 +2 收起 理由
skyflb + 1 + 2 感谢分享,很给力!~

查看全部评分

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 致发广告者

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

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

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