开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

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

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


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

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

查看: 12257|回复: 35
收起左侧

[技术专题] 【重新发帖求上最新贴】超全面福利~教你如何解决多线程cpu飙升问题和提高多线程稳定性

[复制链接]
结帖率:50% (6/12)
发表于 2018-5-1 18:09:35 | 显示全部楼层 |阅读模式   广东省梅州市
本帖最后由 1157374899 于 2018-5-2 12:16 编辑

楼主这两天在开发安卓QQ协yi,然后找了好几个人接单,写一半都跑单了,很气,然后我在开发的时候,遇到多线程时候,CPU狂飙的问题,这个也是一直让我头疼的问题,然后楼主从前天晚上开始到度娘和各大论坛搜集降低优化CPU的方法,功夫不负有心人,让我找到了
首先先给大家分析一下多线程的时候cpu飙升的原因,以及如何进行多线程的优化:

1.多线程启动线程的时候,会创建线程句柄,我们在运行的时候要及时关闭线程句柄,这样才不会导致句柄叠加越来越高,导致崩溃

2.多线程里面访问的子程序和类方法太多,频繁进入退出许可区,这一点也是关键,我们尽量把主线程代码集中在一个子程序中,进入许可区,在操作程序集变量,全局变量,以及组件的时候,可以适当进行添加,而当你的多线程延迟稍微高一点的时候你甚至可以不加许可区,不过前提你的线程数要小

3.频繁使用易语言的延迟,延时功能,易语言自带的延迟延时在多线程中是很耗CPU的,这个我在论坛中找到了一些高精度延时模块,得到了很好的缓解(精易论坛的程序_延迟也属高精度),所以大家尽量使用高精度延时,还有就是大家没有及时的对程序的内存进行优化,这里附上几个我在论坛搜集到的优化的帖子大家可以全部加到精易模块中:
https://bbs.125.la/forum.php?mod=viewthread&tid=109855&highlight=%B8%DF%BE%AB%B6%C8,高精度延时模块
https://bbs.125.la/forum.php?mod=viewthread&tid=13802700&highlight=%B4%A6%C0%ED%CA%C2%BC%FE,处理事件优化模块(比自带处理事件快四倍左右)
https://bbs.125.la/forum.php?mod=viewthread&tid=14041071&extra=,上次我发布的多线程模版,配合使用
④https://bbs.125.la/forum.php?mod=viewthread&tid=13657867&highlight=%C4%DA%B4%E6%D3%C5%BB%AF,内存优化源码例程

4.CPU没有进行开核,开核很简单。下面是教程
1.在开始菜单中,打开运行,输入msconfig点确定,选择引导,高级选项,把CPU核数打上勾,最大内存打上勾,把CPU核数开到最大,内存自动会填写成最大的(无视楼楼的配置),设置好后重启即可





5.经过楼主发研究发现。易语言调试和编译出来运行,在调试的时候CPU占用会高很多,所以大家在调试的时候用任务管理器如果看到CPU很高,别担心,编译出来再试试,会有明显的优化。

6.不要频繁的使用时钟,循环命令 以及占用内存的皮肤。这些命令在程序中必然是不可缺少的,但是大家在写代码的同时一定要注意优化时钟和循环命令的出现数量,这些命令在易语言中是很耗费cpu的,还有就是大家在UI的选择尽量要找一些优化好的UI,可以进行自绘,会有很不错的效果

7.网页URL解码,这一点也是很多新手以及POST讲师在POST犯的错误,大家在进行网页编码的处理时,尽量以字节集方式转换,例如编码_UTF8到ansi(网页_访问()),这个命令转换UTF8是最快的。还有一个我在论坛搜集到的帖子供大家参考
URL解码慢的解决方式:https://bbs.125.la/forum.php?mod=viewthread&tid=13925834&highlight=URL%BD%E2%C2%EB

8.验证码识别库的调用,我在写协yi的时候为了过tx验证码。也是弄出来一套识别库,识别库因为是在内存中进行加载识别的,在多线程识别过程中,超级列表框变得特别卡,很容易崩溃卡死(不知道是不是楼主电脑渣的原因),所以大家验证码识别库也尽量少用一点(前提你电脑渣的情况下)


9.没有添加数据保护,这一点特别特别重要。大家应该会遇到易语言点支持库配置,载入易语言助手的时候会提示易语言已停止。那我们就得去添加数据保护,添加了数据保护后应用停止的问题会得到解决,很多软件都可以通过这个方法解决崩溃停止的问题。

右键单击计算机点击属性,选择高级系统设置,在高级一栏选择性能的设置,选择数据保护,添加会崩溃的软件,确定即可




最后一点,当然就是大家的代码的优化啦,大家在寻找多线程优化的同时,也应该从自身上找原因,毕竟万物都归本,只有自己把代码优化好了,才能敲出一套好的程序,emmm好多废话,给大家秀一下我优化过后的CPU占用率。线程池70线程百分之5,实测100线程百分之7,而且在持续挂机稳定无压力,

全教程手打无复制,希望大家不要盗贴,我写这么多文字只是为了给大家一个分享(其实楼主没精币了,希望大家看在楼主打这么多字的份上多多评分打赏哦)

有什么不懂的问题可以加楼楼扣扣54475336或者3393029996,免费帮你们解答

1.png
2.png
3.png
11.png
22.png
55.png
66.png
666.png
666.png

点评

谢谢!非常全面和详细的干货   广东省中山市  发表于 2019-3-1 17:34
感谢分享   广东省惠州市  发表于 2018-5-3 13:14

评分

参与人数 12好评 +10 精币 +41 收起 理由
QQ华夏辅助 + 1 + 2 YYDS~!
一米七五 + 1 + 2 感谢楼主!!!妥妥的干货
wupeihan + 1 新技能已get√
爲妳執著 + 1 + 2 感谢分享,很给力!~
钱乐 + 1 + 1 感谢分享,很给力!~
新人学习 + 1 + 2 新技能已get√
王导演 + 1 + 2 新技能已get√
陈大奶么么哒 + 1 + 3 感谢分享,很给力!~
dice1412 + 1 + 2 支持开源~!感谢分享
nantian + 1 + 2 新技能已get√
林中道士 + 1 + 20 此处应该有鼓励~
刘氓gg + 2 感谢分享,很给力!~

查看全部评分


本帖被以下淘专辑推荐:

结帖率:54% (14/26)

签到天数: 5 天

发表于 2024-7-11 11:00:16 | 显示全部楼层   山东省烟台市

及时雨,先收藏起来试一试
回复 支持 反对

使用道具 举报

结帖率:100% (10/10)

签到天数: 6 天

发表于 2024-4-28 16:16:26 | 显示全部楼层   湖北省武汉市
及时雨,先收藏起来试一试
回复 支持 反对

使用道具 举报

签到天数: 1 天

发表于 2023-7-14 19:12:00 | 显示全部楼层   广东省惠州市
最新版高精度等待,不下后悔一辈子!~
回复 支持 反对

使用道具 举报

结帖率:100% (2/2)
发表于 2023-7-12 17:50:32 | 显示全部楼层   广西壮族自治区南宁市
这个要保存才行,谢谢大佬
回复 支持 反对

使用道具 举报

结帖率:0% (0/1)
发表于 2023-7-1 00:05:37 | 显示全部楼层   辽宁省盘锦市
非常有用,感谢了
回复 支持 反对

使用道具 举报

结帖率:93% (14/15)

签到天数: 6 天

发表于 2023-6-5 17:00:39 | 显示全部楼层   广东省深圳市
非常有用,感谢了
回复 支持 反对

使用道具 举报

签到天数: 7 天

发表于 2023-1-18 21:35:48 | 显示全部楼层   河北省承德市
感谢感谢
回复 支持 反对

使用道具 举报

结帖率:100% (1/1)

签到天数: 1 天

发表于 2021-12-31 18:31:42 | 显示全部楼层   安徽省合肥市
感谢开源
回复 支持 反对

使用道具 举报

签到天数: 7 天

发表于 2020-12-27 20:00:48 | 显示全部楼层   湖北省鄂州市
新技能已get√
回复 支持 反对

使用道具 举报

结帖率:100% (1/1)

签到天数: 2 天

发表于 2020-10-1 10:28:01 | 显示全部楼层   江苏省南京市
感谢楼主分享  很优秀
回复 支持 反对

使用道具 举报

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

本版积分规则 致发广告者

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

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

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