|
发表于 2014-6-7 09:34:54
|
显示全部楼层
河南省郑州市
网络找的 你看看 有下面那些问题没? 这个我也看不大懂 只是发给你 参考的
1、在多线程中尽量避免对可视化组件的频繁操作,多线程中对编辑框、超级列表框等等赋值时,一定要加临界区限制,但是取值应该不用吧,至少我是这样认为的。
2、尽量少用网上的一些朋友写的多线程模块,如果非要用,用那些论坛上级别高的会员发布的模块吧。尽量使用易语言官网的2012年8月7号的最新版多线程支持库,要比其他的所谓的多线程模块稳定的多。
3、易语言核心支持库以外的一些命令本身就不支持多线程。网友总结如:编码转换类的模块、读写配置项()命令、取现行时间()等等。
4、可以使用 标签反馈事件,这个命令在多线程中非常稳定,但是软件可能会比较卡,angelc0de本人没有测试过这个命令,闲麻烦。
5、有网友推荐把易语言多线程中的所有变量全部以数组形式出现,这种方法确实非常有效,但是会使软件耗费大量的系统资源(这个方法,angelc0de本人亲自测试过,确实非常有用,但是太麻烦了,每一个子线程中的局部变量是没有必要加线程锁的,以数组形式出现完全没有必要吧)。
6、多核CPU有可能会出现CPU亲和性问题,可以用API_SetProcessAffinityMask(-1,1)或API_SetProcessAffinityMask(-1,2)函数解决,部分网友说SetThreadIdealProcessor这个函数可能会更好(angelc0de亲自测试了这个方法,会使软件崩溃的时间推后一些,但是最终还是崩溃掉)。
7、每一个线程创建的时候,会生成一个多线程句柄,线程完毕后,尽量关闭线程句柄,这个句柄多到一定数量不关闭,句柄资源将会耗尽,在一个,使用线程句柄尽量不要频繁地终止线程,那会造成内存泄露。
8、多线程中有可能产生冲突的共享资源,前后一定要加上线程锁。
9、网络上很多多线程源码,本来是很稳定的,但是作者放到网上的时候,把关键代码做了修改。 |
评分
-
参与人数 1 | 荣誉 +3 |
收起
理由
|
笨潴
| + 3 |
热心帮助他人,荣誉+3,希望继续努力(*^__^*) 嘻嘻! |
查看全部评分
|