mysql 多线程卡死_多线程完美不崩溃防卡死

.版本 2

.支持库 EThread

.支持库 shellEx

.子程序 处理条目

.参数 线程数

.局部变量 i, 整数型

.局部变量 条目

.局部变量 状态, 文本型

.局部变量 运行时间

.局部变量 线程句柄, , , "0"

.局部变量 通讯信号, 线程传参, , "0"

' 调试输出 (线程数)

' 调试输出 (超时时长)

重定义数组 (线程句柄, 真, 总条数)

重定义数组 (通讯信号, 真, 总条数)

.判断循环首 (总计次 < 总条数)

' ——————————————————————

进入许可区 (许可证0)

总计次 = 总计次 + 1

.如果真 (总计次 > 总条数)

退出许可区 (许可证1)

跳出循环 ()

.如果真结束

条目 = 总计次

退出许可区 (许可证0)

' ——————————————————————

' 开始处理第(条目)条并输出结果

进入许可区 (许可证1)

编辑框5.加入文本 (“开始:第” + 到文本 (条目) + “条(由线程” + 到文本 (线程数) + “处理)...” + #换行符)

处理事件 ()

退出许可区 (许可证1)

' ——————————————————————

运行时间 = 取启动时间 ()

通讯信号 [条目].条目 = 条目

启动线程 (&处理条目_子程序, 取指针地址 (通讯信号 [条目]), 线程句柄 [条目])

.判断循环首 (条目 > 0)  ' 无限循环,判断

延时 (300)

.如果真 (通讯信号 [条目].信号 = 1)

状态 = “正常结束”

跳出循环 ()

.如果真结束

.如果真 (取启动时间 () - 运行时间 > 超时时长)

强制结束线程 (线程句柄 [条目])

状态 = “超时退出”

跳出循环 ()

.如果真结束

.如果真 (结束信号)

进入许可区 (许可证0)

.如果真 (条目 = 总条数)

总计次 = 总计次 + 1

.如果真结束

逆计次 = 逆计次 - 1

退出许可区 (许可证0)

返回 ()

.如果真结束

.判断循环尾 ()

' ——————————————————————

进入许可区 (许可证1)

编辑框5.加入文本 (“结束:第” + 到文本 (条目) + “条(由线程” + 到文本 (线程数) + “处理),状态为【” + 状态 + “】...” + #换行符)

处理事件 ()

退出许可区 (许可证1)

' 完成处理第(条目)条并输出结果

' ——————————————————————

进入许可区 (许可证0)

.如果真 (条目 = 总条数)

总计次 = 总计次 + 1

.如果真结束

逆计次 = 逆计次 - 1

退出许可区 (许可证0)

.判断循环尾 ()

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值