读学易语言第八章|阿正_多线程的完美写法
读学易语言第八章 | 阿正多线程的完美写法
本章适用于有一定易语言基础想发展学习POST方面的人
阅读,文章根据个人学习经验所写,如果有错误请指出。
QQ交流群:308780188
阿正QQ:964269020
公众号:阿正易语言
博客: www.eyuyan.vip
前面卖了两章的关子,现在我们就来看看如何达到完美的控制,由于逻辑性比
较强,我解释起来也不好解释,所以以贴图为主,然后代码后面我会加上注释给大
家看每一行命令的由来,作用等。
. 这是总控制线程里面的初始化数据操作,这个不需要讲解的。大家都明白,
https://docs.zoho.com.cn/writer/image.do?imgurl=60c55005f04ed37632305f71b7e9afae3fd45a483c18d082be8ab0d0638f329cd16dcff1dca3c87b26ba3191368ca611
我们可以看出和上一章的不同了,上一章我们提出了许多问题,关于线程关闭时间
的判断和合理性。
https://docs.zoho.com.cn/writer/image.do?imgurl=60c55005f04ed37632305f71b7e9afae3fd45a483c18d082be8ab0d0638f329c4c3faa0e5181d0cbe1fb2ccaaf22eb0e
其实道理很简单,就是把之前强制等待时间分开,采用 强制等待时间=小延迟
时间 x 检测次数
我们采用“局_计次”来表示检测次数,由于单次等待的时间是一样的,所以我们
通过 局_计次x单次时间就可以判断是否超时。如果超时就直接结束线程,并且在当
前启动数这里减一。
如果在没有达到计次的上限,但是线程结束,我们也需要结束线程。减去当前
启动数一。
这样做的好处就是,细化线程单次控制时间,由于缩小了单次的判断时间,就可以
减少由于大量线程等待造成的时间的占用,同时也能达到“始终有指定线程数在运行”
,而不是“启动指定线程,等所有线程完毕后再开始”的效果。经过我的一次测试,修
改后的软件速度提升了大约30%(具体你们可以自己试试,我工作线程里面是有一个
网页访问。)
多线程源码我会上传到我的群里面,欢迎各位加群下载。
多线程安全使用手册:-----
记得关闭线程句柄
线程里面要是有涉及到正则、js、json相关操作,记得一定要线程初始化com,
不然会崩溃
其实信号量类型多线程更加值得推荐,各位可以去好好研究。
线程里面的许可区不要加太多,只要关键部位加入就好,千万不要工作线程头
部一个进入,尾部一个退出,这样和单线程就没有区别了,也不要一行一个进入、
退出,这样也没卵用,只会更加的拖慢程序运行。
多线程模版自己写一套,留着就好。需要使用的时候拿过来套上去就好了。写
多了,你就会发现你的适合的模版越来越多。
写多线程一定要最大程度的代码模块化,这样你就可以更好的去镶嵌代码,整
理代码。
拨号换IP这个操作,看个人需求,可以添加在结束线程的时候,然后进入许可区
,一个循环判断一直等待到拨号完毕。
多线程按照各种功能,每个人应该至少具备3种以上的多线程模版。
欢迎各位加入交流群、对我打赏。
https://docs.zoho.com.cn/writer/image.do?imgurl=60c55005f04ed37632305f71b7e9afae3fd45a483c18d082be8ab0d0638f329c1d1a96db91c01c4d5bd3415719488f17
太棒了,感谢楼主,Mrak一下 太棒了,感谢楼主,Mrak一下 拿分走人呵呵,楼下继续! 很不错哦,谢谢楼主分享 太棒了,感谢楼主,Mrak一下 感谢楼主,学习了 感谢楼主~!
页:
[1]