多线程计算

此功能需要加载精易模块5.6

.版本 2
.支持库 iext
.程序集 窗口程序集1
.程序集变量 总线程id, 整数型
.程序集变量 线程判断数量, 整数型
.程序集变量 线程总数, 整数型
.程序集变量 线程id, 整数型
.程序集变量 当前表项, 整数型
.程序集变量 许可证, 整数型
.子程序 __启动窗口_创建完毕
.局部变量 i1, 整数型
.计次循环首 (10000, i1)
  置随机数种子 ()
  超级列表框1.插入表项 (, , , , , )
  超级列表框1.置标题 (i1 - 1, 0, 到文本 (取随机数 (1, 99)))
  超级列表框1.置标题 (i1 - 1, 1, 多项选择 (取随机数 (1, 4), “加”, “减”, “乘”, “除”))
  超级列表框1.置标题 (i1 - 1, 2, 到文本 (取随机数 (1, 99)))
.计次循环尾 ()
.子程序 _按钮_启动_被单击
总线程id = 线程_启动 (&子程序_计算, , )
.子程序 子程序_计算
.局部变量 表项引索, 整数型
.判断循环首 (线程判断数量 < 超级列表框1.取表项数 ())
  .如果真 (线程总数 < 到整数 (编辑框_总线程数.内容))
    线程判断数量 = 线程判断数量 + 1
    线程id = 线程_启动 (&子程序_结果)
    超级列表框1.置标题 (表项引索, 3, “计算中”)
    表项引索 = 表项引索 + 1
    线程总数 = 线程总数 + 1
  .如果真结束
.判断循环尾 ()
.子程序 子程序_结果
.局部变量 数值1, 双精度小数型
.局部变量 数值2, 双精度小数型
.局部变量 计算符号, 文本型
.局部变量 结果, 双精度小数型
.局部变量 i, 整数型
当前表项 = 当前表项 + 1
i = 当前表项 - 1
数值1 = 到数值 (超级列表框1.取标题 (i, 0))
数值2 = 到数值 (超级列表框1.取标题 (i, 2))
计算符号 = 超级列表框1.取标题 (i, 1)
.如果真 (计算符号 = “加”)
  结果 = 数值1 + 数值2
.如果真结束
.如果真 (计算符号 = “减”)
  结果 = 数值1 - 数值2
.如果真结束
.如果真 (计算符号 = “乘”)
  结果 = 数值1 × 数值2
.如果真结束
.如果真 (计算符号 = “除”)
  结果 = 数值1 ÷ 数值2
.如果真结束
程序_延时 (1, 1)
超级列表框1.置标题 (i, 3, 到文本 (结果))
程序_延时 (1, 1)
线程总数 = 线程总数 - 1
.子程序 _按钮_销毁_被单击
线程_销毁 (总线程id)
.子程序 _按钮_暂停_被单击
线程_挂起 (总线程id)
.子程序 _按钮_恢复_被单击
线程_恢复 (总线程id)
.子程序 __启动窗口_将被销毁
线程_销毁 (总线程id)

运行结果:

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对悠悠之家的支持。如果你想了解更多相关内容请查看下面相关链接

点赞(56)

评论列表共有 0 条评论

立即
投稿
返回
顶部