下你所需,载你所想!
汇集开发技术源码资料

线程池开源纯API无模块及支持库

:9.756KB :1 :2019-11-13 20:26:18

部分简介

本来想加个缓冲时间,让一些线程自动销毁,但是WaitforMO(),最多只能等待64条线程。等待时间前让线程销毁,然后再逐个Exit 默认为1000ms。
类_线程池运行中 = 假
.计次循环首 (取数组成员数 (类_线程信息_集合), i)
API_PostThreadMessage (类_线程信息_集合 [i].id, #线程_quit, 0, 0)
.计次循环尾 ()
API_PostThreadMessage (类_线程信息_专注任务列表.id, #线程_quit, 0, 0)
.如果真 (是否为空 (等待时间) = 假)
API_Sleep (等待时间)
.如果真结束
API_Sleep (1000)
.计次循环首 (取数组成员数 (类_线程信息_集合), i)
API_ExitThread (类_线程信息_集合 [i].h)
.计次循环尾 ()
API_ExitThread (类_线程信息_专注任务列表.h)
清除数组 (类_线程信息_运行中)
清除数组 (类_线程信息_集合)
清除数组 (类_线程任务_队列)

连续赋值 (0, msg.time, msg.message, msg.wParam, msg.lParam) ' 记得加上这句清除好数组“API_PeekMessage 他不会清空
API_GetMessage (msg, 0, 0, 100) ' 第一次检查消息队列 就是创建队列把 使用#PM_NOREMOVE即可只读消息不删除
.如果真 (取数组成员数 (类_线程任务_队列) ≠ 0)
.如果真 (msg.message = #线程_check)
.如果真 (类_线程信息_运行中 [msg.wParam] = 假) ' 为什么要这样写. 你猜
待发送 = 类_线程任务_队列 [1]
删除成员 (类_线程任务_队列, 1, 1)
API_PostThreadMessage (类_线程信息_集合 [msg.wParam].id, #线程_任务, 待发送.子程序指针, 待发送.子程序参数) ' 投递信息

线程池开源纯API无模块及支持库

热门推荐

相关文章