DEDECMS多线程会员批量注册,多线程超级列表框插入

易语言 2020-04-03 14:59:11

DEDECMS多线程会员批量注册,多线程超级列表框插入

解决问题:多线程超级列表框数据插入
在做多线程时遇到,将线程完成结果插入超级列表框中显示时效率很低,分析子程序中代码。

主要原因是使用命令:超级列表框_信息.插入表项 (, , , , , )
命令解释:在指定的位置插入新表项,成功返回新表项的位置索引,特别是《参数1》默认情况是-1,也就是在列表尾部插入。
在多线程执行时会发现每条结果都是逐在最后显示出来,和单线程计次执行时是一样的效果。测试的执行效率也基本一样。
每个线程执行到插入表项时(默认尾部插入时)会寻找最后一个表项的位置,出现了线程的等待。

找到原因后,想到了三种解决方式
第一种:本帖例子中实现的效果,在点击开始按钮时执行计循环插入表项,插入数量和zc数量一致。线程完成后显示使用置标题,索引使用启动线程时传递的整数计次。
达到效果线程执行完结果显示到表项中,同时多个表项显示。
实测多线程效率提高非常多。
同样这个也存在问题,需要zc的数量多时,开始后循环插入表项会出现等待。

第二种:线程执行最后插入表项内容,使用《参数1》使用启动线程的循环计次,
局_索引=超级列表框_信息.插入表项 (参_计次, , , , , )
参数1说明:指定新表项插入时的位置索引,索引值从 0 开始。如果提供 -1 ,则插入到列表框的尾部。
指定插入内容的位置,不让自动判断尾部。
今天还没时间测试

第三种:不使用超级列表框显示结果,使用标签提示完成进度,结果存在数组变量中,导出时写入文件。