511遇见易语言多线程大漠多线程-16Api封装线程等待CPU优化

API-线程等待-CPU

用到的API

1、MsgWaitForMultipleObjects
2、WaitForSingleObject
3、SetThreadAffinityMask
4、SetThreadIdealProcessor

模块源码

.子程序 线程_等待, 逻辑型, 公开, 等待一个线程,返回真表示线程运行结束,返回假表示已超时
.参数 线程句柄, 整数型
.参数 等待时间, 整数型, 可空, 单位毫秒,默认为5秒,无限等待--4294967295
.局部变量 ret, 整数型
.局部变量 时间, 整数型

.如果真 (等待时间 = 0)
等待时间 = -1
.如果真结束
时间 = 取启动时间 ()
.循环判断首 ()
ret = MsgWaitForMultipleObjects (1, 线程句柄, 假, 等待时间, 1215)
.如果真 (等待时间 ≠ -1)
.如果真 (取启动时间 () - 时间 ≥ 等待时间)
ret = 258
.如果真结束

.如果真结束
处理事件 ()
.循环判断尾 (ret ≠ 0 且 ret ≠ 258)
返回 (ret = 0)


发布日期:

所属分类: 易语言 标签: