|
|
发表于 2026-1-8 11:41:59
|
显示全部楼层
江西省南昌市
标准的写法~
管理器逻辑
| 窗口程序集名 | 保 留 | 保 留 | 备 注 | | 任务管理器 | | | | | 变量名 | 类 型 | 数组 | 备 注 | | _等待事件 | 鱼刺类_事件 | 0 | | _映射表 | 整数型 | 0 | | _临界许可 | 鱼刺类_临界许可 | | 重定义数组 (_等待事件, 假, 容量 ) 计次循环首 (容量, i ) _等待事件 [i ]. 创建 (真, 真, , ) 计次循环尾 () 计次循环首 (容量, i ) 加入成员 (_映射表, i ) 计次循环尾 ()_等待事件 [slot ]. 等待进入 ()_临界许可. 进入 () 计次循环首 (取数组成员数 (_映射表 ), i ) 如果真 (_映射表 [i ] = slot )  idx = i  跳出循环 ()  计次循环尾 ()_临界许可. 退出 ()返回 (idx )_等待事件 [slot ]. 重置 () _临界许可. 进入 () 计次循环首 (取数组成员数 (_映射表 ), i ) 如果真 (_映射表 [i ] = slot ) 删除成员 (_映射表, i, ) 跳出循环 ()  计次循环尾 ()_临界许可. 退出 () 如果真 (_等待事件 [slot ]. 等待进入 (10 )) 调试输出 (“线程运行中,无需恢复”) 返回 () _临界许可. 进入 () 如果 (取数组成员数 (_映射表 ) = 0 ) 加入成员 (_映射表, slot ) 判断 (slot > _映射表 [取数组成员数 (_映射表 )])  加入成员 (_映射表, slot ) 判断 (slot < _映射表 [1 ])  插入成员 (_映射表, 1, slot )  变量循环首 (取数组成员数 (_映射表 ) - 1, 1, -1, i )  如果真 (slot < _映射表 [i + 1 ] 且 slot > _映射表 [i ])  插入成员 (_映射表, i + 1, slot )    变量循环尾 () _临界许可.退出 ()_等待事件 [slot ]. 触发 () 计次循环首 (取数组成员数 (_等待事件 ), i ) _等待事件 [i ]. 触发 () _等待事件 [i ]. 关闭 () 计次循环尾 ()
具体实现
| 窗口程序集名 | 保 留 | 保 留 | 备 注 | | 窗口程序集_启动窗口 | | | | | 变量名 | 类 型 | 数组 | 备 注 | | _线程池 | 鱼刺类_线程池 | | | _任务管理器 | 任务管理器 | | | _任务终止 | 逻辑型 | |
_线程池. 创建 ( #最大线程数量, , , )_任务管理器. 初始化 ( #最大线程数量 ) 计次循环首 ( #最大线程数量, i ) 超级列表框1. 插入表项 (, i, , , , ) 计次循环尾 () 计次循环首 ( #最大线程数量, i ) _线程池. 投递任务 (&任务线程, i, ) 计次循环尾 () 判断循环首 (_任务终止 = 假) _任务管理器. 等待事件 (线程id ) 任务id = _任务管理器. 取任务id (线程id ) 超级列表框1. 置标题 (线程id - 1, 1, 任务id ) 模拟业务代码 () 判断循环尾 ()延时 (10 )线程id = 到整数 (编辑框1.内容 )_任务管理器. 暂停 (线程id )超级列表框1. 置标题 (线程id - 1, 1, “/”)线程id = 到整数 (编辑框1.内容 )_任务管理器. 恢复 (线程id )_任务终止 = 真 _任务管理器. 销毁 ()_线程池. 销毁 (, )
依次取任务.zip
(184.61 KB, 下载次数: 4)
|
|