易语言----绝知此事要躬行--关于线程销毁 和 高精度等待模块

楼主我 不是计算机专业的 但是作为一名工科男 酷爱编程 所以对事情很是推敲

今天测试了几个模块 也发现了几个问题,在此总结一下:


1,高精度模块存在BUG

版本:

模块名称:高精度等待

作者:凌晨孤星


.版本 2

.子程序 高精度等待, , 公开
.参数 微秒, 整数型, , 1000微秒 = 1毫秒 ; 1000毫秒 = 1秒
.局部变量 hTimer, 整数型
.局部变量 int64, LARGE_INTEGER

int64.QuadPart = -10 × 微秒
hTimer = CreateWaitableTimerA (0, 假, 0)
SetWaitableTimer (hTimer, int64, 0, 0, 0, 假)
.判断循环首 (MsgWaitForMultipleObjects (1, hTimer, 假, #INFINITE, #QS_ALLINPUT) ≠ #WAIT_OBJECT_0)
    处理事件 ()
.判断循环尾 ()
CloseHandle (hTimer)

其实这乍看一下没啥问题,但是用作者提供的编译好的模块,运行时,再高次循环中发现,再循环中 频繁调用高精度等待模块,会导致句柄数狂飙,仔细推敲,结果发现这个代码出了点问题:

CloseHandle (hTimer)

这个关闭线程句柄的代码,实际上是OK的,但是为什么用作者编译好的模块就有问题了呢?经过测试,从重新编译一次模块再调用就OK了!

或者替换这个命令&#

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值