|
.版本 2
.支持库 spec
.程序集 定时功能集
.子程序 删除巷邻外加盟缴款单_线程
.参数 参_ID, 整数型, , 计数
.参数 参_店号指针, 整数型, , 文本指针
.局部变量 局_SQL, 文本型
.局部变量 局_店号, 文本型
局_店号 = 指针到文本 (参_店号指针)
.如果真 (删首尾空 (局_店号) ≠ “”)
局_SQL = 取文本 (“delete from HD40.LJ_PAYMENTMADE where CODE='%s'”, 局_店号)
FOF执行语句 (局_SQL, #常量_日志_Log, “删除外加盟缴款单:”, , , 真, )
.如果真结束
.子程序 删除巷邻线程池
.局部变量 线程池, 鱼刺类_线程池
.局部变量 局_线程数, 整数型
.局部变量 局_巷邻店号, 文本型
.局部变量 局_店号, 文本型, , "0"
.局部变量 i, 整数型
.局部变量 任务总数, 整数型
.局部变量 局_变量文本, 文本型
.局部变量 投递数, 整数型
' -----------------------------------'自动计算线程数
局_线程数 = 到整数 (读环境变量 (“NUMBER_OF_PROCESSORS”)) × 2 ' 获取CPU核心数量
局_线程数 = 选择 (局_线程数 ≤ 0, 5, 局_线程数) ' 线程小于0则设置5
' -----------------------------------'添加循环数
局_巷邻店号 = FOF取组织类型店号 (到文本 (#常量_组织类型_巷邻加盟))
文本_分割文本 (局_巷邻店号, #换行符, , 局_店号)
任务总数 = 取数组成员数 (局_店号)
' -----------------------------------
线程池.创建 (局_线程数, , )
.判断循环首 (投递数 < 任务总数)
.判断循环首 (线程池.取_空闲线程数 () = 0)
_延时 (100, )
.判断循环尾 ()
.计次循环首 (线程池.取_空闲线程数 (), i)
原子_递增 (投递数)
局_变量文本 = 局_店号 ' 传文本用的
线程池.投递任务 (&删除巷邻外加盟缴款单_线程, 投递数, 取变量数据地址 (局_变量文本))
.如果真 (投递数 = 任务总数) ' 数量达到时跳出不在投递
跳出循环 ()
.如果真结束
_延时 (20) ' 必须一定要有延时
.计次循环尾 ()
.判断循环尾 ()
' -----------------------------------
.循环判断首 ()
_延时 (100, )
调试输出 (“正在投递” + 到文本 (投递数) + “ 个任务!” + “空闲:” + 到文本 (线程池.取_空闲线程数 ()) + “ 正在执行:” + 到文本 (线程池.取_执行线程数 ()) + “ 最大线程:” + 到文本 (线程池.取_线程池容量 ()), )
.循环判断尾 (线程池.取_是否空闲 () = 假) ' 等待所有线程完成才能销毁!
.如果 (线程池.销毁 (, , ))
输出调试文本 (“所有任务都已执行完毕!,线程池正常销毁!”)
.否则
输出调试文本 (“所有任务都已执行完毕,线程池销毁失败!”)
.如果结束
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
×
|