|
6#

楼主 |
发表于 2024-12-30 17:15:32
|
只看该作者
谢谢,我用https://bbs.voldp.com/forum.php?mod=viewthread&tid=14940
线程池,有一个线程id来区分线程,分别执行了对应的表项任务,算是实现了我的想法了
- <火山程序 类型 = "通常" 版本 = 1 />
- 方法 线程池类_线程运行 <接收事件 类型 = 整数 折叠>
- 参数 来源对象 <类型 = 线程池类>
- 参数 标记值 <类型 = 整数>
- 参数 线程ID <类型 = 整数>
- 参数 线程句柄 <类型 = 变整数>
- 参数 用户参数 <类型 = 变整数>
- 参数 退出事件 <类型 = 变整数>
- {
- 如果 (来源对象 == 线程池1)
- {
- // 标签1.调用反馈事件 (0, 线程ID, 假) // 线程中不能直接更新窗口界面,可能会导致死锁. 下同
- 调试输出 (线程ID)
- 如果 (线程ID == 1)
- {
- 计次循环 (超级列表框1.取表项数 ())
- {
- 如果 (超级列表框1.取标题 (取循环索引 (), 2) == "1")
- {
- 超级列表框1.置标题 (取循环索引 (), 3, "执行1")
- 程序_延时 (5, 1)
- 超级列表框1.置标题 (取循环索引 (), 3, "完成1")
- // 标签1.调用反馈事件 (1, 取循环索引 (), 假)
- }
- }
- }
- 如果 (线程ID == 2)
- {
- 计次循环 (超级列表框1.取表项数 ())
- {
- 如果 (超级列表框1.取标题 (取循环索引 (), 2) == "2")
- {
- 超级列表框1.置标题 (取循环索引 (), 3, "执行2")
- 程序_延时 (5, 1)
- 超级列表框1.置标题 (取循环索引 (), 3, "完成2")
- // 标签1.调用反馈事件 (2, 取循环索引 (), 假)
- }
- }
- }
- // 进行你自己的工作 ...
- // 标签1.调用反馈事件 (2, 线程ID, 假)
- }
- 返回 (0)
- }
复制代码
|
|