易语言的多线程是有些难理解的,最主要的中心是要围绕许可证。最开始我以为,要想判定多线程是否运行结束,应该使用的是等待线程命令,再来关闭线程,但是这根本做不到,而且等待线程的作用也不是用在这里的,它是用于判定某个线程是否卡机,如果超时卡机,关闭线程。所以,这个思路宣告破产。
接下来还得从许可证入手,我们需要在线程里加一个标志性变量,用于统计线程的数量,当这个数量达到我们的预期值时候,就是线程运行结束时。用这个逻辑测试了一下,发现非常不错。我用的案例是开启5个线程,每个线程里往一个数组加入5个数字,然后再将这5个数字数组合而为一,供最后时候,但是我发现一点,如果在线程里加入时间延迟,最后单独输出每个数组,数据是对的,但是合成的数组却出现了意外,貌似有内存数据在里面。
不过最后也解决了,在判定线程是否全部运行完毕那里设置一下等待,就可以了。如果对于思路还有不懂的,可以关注公众号,看相关文章。
评论