在无意思中写一个软件,发现: 线程启动(&子程序,,)这个命令会在多线程中超出定义的执行数。
就又用了 :子程序() 这个命令就不会出现超出。
(备注:是没有加开关,没有改代码,只是命令不一样,线程自由执行情况下)
分享出来让大家不要再踩坑,有性趣可一起在评论区讨论一下,让大家都能有所了解
窗口程序集名 | 保 留 | 保 留 | 备 注 | 窗口程序集_启动窗口 | | | | 变量名 | 类 型 | 数组 | 备 注 | c | 整数型 | | 许可证 | 多线程许可证 | | b | 整数型 | |
许可证 = 超级_线程创建许可证 ()停止 = 假 变量名 | 类 型 | 静态 | 数组 | 备 注 | sz | 文本型 | | 0 | i | 整数型 | | | b | 整数型 | | | 超级_数组随机生成 (sz, 到整数 (编辑框_数量.内容 ), 到整数 (编辑框_位数.内容 )) 计次循环首 (取数组成员数 (sz ), i )b = 超级列表框1. 插入表项 (, , , , , )超级列表框1. 置标题 (b, 0, 到文本 (b + 1 )) 超级列表框1. 置标题 (b, 1, sz [i ])透明标签1.标题 = “正在生成” + 到文本 (i )计次循环尾 ()透明标签1.标题 = “完成数组生成”b = 0 判断循环首 (b < 超级列表框1. 取表项数 ()) 计次循环首 (到整数 (编辑框1.内容 ), )判断 (编辑框3.内容 = “1”)执行3 ()判断 (编辑框3.内容 = “2”)处理事件 ()启动线程 (&执行3, , )返回 ()计次循环尾 ()判断循环尾 ()c = 0 判断循环首 (c < 超级列表框1. 取表项数 ()) 计次循环首 (到整数 (编辑框2.内容 ), )执行2 ()计次循环尾 ()判断循环尾 ()超级_线程进入许可区 (许可证 )判断 (编辑框_执行.内容 = “”)透明标签7.标题 = “正在执行” + 到文本 (c )超级列表框1. 置标题 (c, 2, “”)c = c + 1 透明标签7.标题 = “执行完成” + 到文本 (c )超级列表框1. 保证显示 (c )超级_线程离开许可区 (许可证 )超级_线程进入许可区 (许可证 )判断 (编辑框_执行.内容 = “”)超级列表框1. 置标题 (b, 2, “执行”)透明标签2.标题 = “正在执行” + 到文本 (b )超级列表框1. 置标题 (b, 2, “完成”)b = b + 1 透明标签2.标题 = “执行完成” + 到文本 (b )超级列表框1. 保证显示 (b )超级_线程离开许可区 (许可证)
|