精易论坛

标题: 【解决内存不断升高的问题】解决:多线程软件运行时遇到内存不断升高,奉上线程池操作 [打印本页]

作者: zhifu3158    时间: 2017-3-20 07:25
标题: 【解决内存不断升高的问题】解决:多线程软件运行时遇到内存不断升高,奉上线程池操作
本帖最后由 zhifu3158 于 2017-3-20 07:57 编辑

解决:软件多线程运行时遇到【内存不断升高】甚至爆表!


    因为本人是个小白,多线程经常用,但是线程池并没有用过,(一听到线程池,总感觉高大上)
但是近期写彩票软件的时候发现,多线程长期操作会导致内容不断的升高直至报错,遂想起了线程池,完善后发现不是一般的叼 啊!!!

    先简单的说下多线程和线程池的区别:

1、多线程每次启动的时候系统都要分配一定的资源出来(主要占的就是内存),而不断的启动线程、启动线程、启动线程 循环的启动线程,就造成了系统资源极大的浪费,甚至不释放的情况,继续下去内存就OVER了!

2、线程池则完美的解决了这个问题,线程池的原理就是事先申请好指定数量的线程所使用的资源,而且这些资源是不断的重复利用的!可利用任务管理器看到程序的线程数量的变化(在使用普通的多线程时:线程数会根据软件启动的线程数量增加,循环完了之后线程数量也就减少了,但是内存资源不减少,再启动线程内存继续飙升!  而在使用【线程池】的时候:线程数一直保持线程池中的数量,无论你是否启动多线程进行运算,线程数量都不会变化,同时内存也不会有多大的变化,更不会不断的飙升!)

也许我的表达能力不足,反正大家知道在启用多线程的时候尽量使用线程池可以保证内存不会飙升就行了!
这里说的启动多线程是指循环启动‘同一个子程序’线程:
  1. .版本 2

  2. .计次循环首 (1000, c)
  3.     启动线程(&线程操作,c)
  4. .计次循环尾 ()
复制代码

如果是上面这样的话,建议使用线程池!它真的很吊!!!

奉上一个超级简单的线程池操作例程,相信新手一看就会! 简单的线程池操作例程.zip (168.63 KB, 下载次数: 812) 源码调用了精易模块 )








作者: 9876543210    时间: 2017-3-20 08:13
线程之间递归启动会不会出现什么问题??
作者: sonyh2p    时间: 2017-3-20 08:35
多谢分享,很实用!!!!!!!!!!!!!!!!
作者: iycamtkg    时间: 2017-3-20 08:39
好东西谢谢分享..............
作者: iycamtkg    时间: 2017-3-20 08:39
好东西谢谢分享..............
作者: 单身汪    时间: 2017-3-20 08:41
留个印记,晚上好好看,我也是(一听到线程池,总感觉高大上)
作者: cpu001071    时间: 2017-3-20 08:51
小白先学习一下
作者: 爱生活爱大乔    时间: 2017-3-20 09:15
手工点赞,感谢分享
作者: ck66    时间: 2017-3-20 10:28
我喜欢  鱼刺的线程池
作者: jardeng    时间: 2017-3-20 13:25
回复是种美德。支持楼主
作者: jardeng    时间: 2017-3-20 13:29
额,怎么一点启动就闪退了啊
作者: jardeng    时间: 2017-3-20 13:31
一点开始,然后程序就停止了
作者: 2446789312    时间: 2017-3-20 13:38
互相讨论,共同进步
作者: 2446789312    时间: 2017-3-20 13:39
谢谢!!!
作者: 苏子浩    时间: 2017-3-20 14:02
感谢分享
作者: zhifu3158    时间: 2017-3-20 15:36
jardeng 发表于 2017-3-20 13:31
一点开始,然后程序就停止了

不会啊,,我的源码 无论是在调试状态 还是 编译出来 都是很正常的  不会闪退啊,,,您用的精易模块是哪个?建议使用 5.5版的  因为5.51以后的精易模块存在很多小问题!!
作者: jable    时间: 2017-3-20 21:22
jinlai kan kana 学习一下。。。。。。。。。。。。
作者: yxdypdyp    时间: 2017-3-20 22:44
谢谢楼主分享~!~!
作者: jardeng    时间: 2017-3-21 12:26
zhifu3158 发表于 2017-3-20 15:36
不会啊,,我的源码 无论是在调试状态 还是 编译出来 都是很正常的  不会闪退啊,,,您用的精易模块是哪 ...

我下载的就写了个精易模块,怎么看是哪个版本
作者: 网上邻居007    时间: 2017-3-21 14:07
学习谢谢啊
作者: shuxiang    时间: 2017-3-21 14:33
线程池还真没用过,学下下!
作者: fab861122    时间: 2017-3-22 08:43
谢谢分享!
作者: 10487198563    时间: 2017-3-22 13:04
谢谢分享!!!!
作者: hyi    时间: 2017-3-22 16:07
谢谢分享!
作者: y2j423633    时间: 2017-3-22 19:27
学习线程池
作者: ikumu    时间: 2017-3-22 19:41
瞎掰吧,我采集程序运行一个月线程启动次数接近千万,内存占用也还一直都是5M
作者: 958829253    时间: 2017-3-23 20:32
谢谢分享!
作者: weizhuojun    时间: 2017-3-25 20:46
互相讨论,共同进步
作者: dljy    时间: 2017-3-31 17:19
#在这里快速回复#谢谢分享!
作者: zsdg    时间: 2017-4-1 22:02
多谢。。。。。
作者: sunpop    时间: 2017-4-2 11:46
谢谢楼主提供!

作者: sunpop    时间: 2017-4-2 13:24
试了一下,崩溃了....

作者: zhifu3158    时间: 2017-4-3 01:58
sunpop 发表于 2017-4-2 13:24
试了一下,崩溃了....

这个的话 只能是您自己去找问题了,首先从 模块下手 最好是使用精易5.5以及以前的版本,然后再看看 您的操作系统之类的,其他的不清楚,我win7 32位  win2012r2 64位  运行起来很稳定,其他的没有测试过!
作者: 爲妳執著    时间: 2017-4-3 02:06
感谢分享!
作者: 汇编成就梦想    时间: 2017-4-16 03:53
感谢分享!
作者: qyuan    时间: 2017-4-17 13:08
来那走了。。
作者: 825597    时间: 2017-4-18 10:41
谢谢楼主。但线程池我也没有接触过
作者: areyou    时间: 2017-4-18 11:23
提示: 作者被禁止或删除 内容自动屏蔽
作者: 825597    时间: 2017-4-18 13:25
楼主这源码点开始后没任何显示直接被退出了
作者: 1157374899    时间: 2017-4-22 14:09
直接停止运行
作者: langbotian    时间: 2017-4-25 22:37
感谢分享!~
作者: xinfan2468    时间: 2017-4-28 15:41
下来看看看先,学好久了都没学会
作者: zhang1626734    时间: 2017-5-8 10:10
精易模块的这个线程池 CPU会暴高.
作者: lyw1989    时间: 2017-6-1 06:40
#在这里快速回复#互相讨论,共同进步
作者: gz100    时间: 2017-7-2 21:02
运行也不怎么好的
作者: t1z2ix    时间: 2017-7-5 11:43
谢谢分享~~~
作者: ruzhipin    时间: 2017-9-11 13:19
学习了,刚好在学多线程
作者: 男左女右    时间: 2017-10-23 14:55
你这个不行,还是爆表
作者: shinid8210    时间: 2019-7-20 15:18
下载学习一下。
作者: weifenggogo    时间: 2019-8-4 13:50
谢谢分享~~~~~~~~~
作者: 原味    时间: 2020-5-9 18:10
新手学习下
作者: 原味    时间: 2020-5-9 18:10
新手学习下
作者: 水深与云起    时间: 2020-5-13 21:36
太厉害了 我的线程池启蒙 谢谢老师!
作者: f2784575461    时间: 2020-10-25 14:33
您的源码于2018年10月31日已被易语言资源网(www.eyuyan.la)收
作者: f2784575461    时间: 2020-10-25 14:35
大苏打啊三大三大四的
作者: ylcc2008    时间: 2020-10-29 09:13
感谢分享!
作者: 落拓居士    时间: 2023-11-1 08:11
内存干光光,测试验下。
作者: 看人看书    时间: 2024-10-25 20:31
如果是上面这样的话,建议使用线程池!它真的很吊!!!
作者: yuzhong3    时间: 2025-6-23 06:41
1111111111111111111111111111




欢迎光临 精易论坛 (https://125.confly.eu.org/) Powered by Discuz! X3.4