| 
 | 
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)
 
 - }
 
 
  复制代码 
 
 |   
 
 
 
 |