zendon
zendon
我的使用场景是这样,面对很多网络连接,先声明一个NewTimer ,然后用一个协程去Run,而后每一个连接打开的时候,使用TM.ScheduleFunc() 对每个连接进行不同时间的心跳,测试的时候是每个连接到来,每5秒下发一次心跳,一个连接没问题,超过一个连接,其他的连接发送了几次心跳后会莫名停止,就是TM.ScheduleFunc中执行的函数不执行了,众多连接只有一个连接能发送心跳,其他的都不能,请赐教,是不是我用的方式不对。
> @jungeshidai go.mod是v0.0.4吧?可否发下调用代码,我测试下。我使用的版本是1.14 ,随便写了个测试代码。调试工具是(以太网调试助手SocketTool_NoAD),很多连接时,每个连接大约都能跑1分钟所有,过了一分钟,只剩下一个连接能发送心跳了。 ```go package main import ( "encoding/hex" "flag" "fmt" "github.com/antlabs/timer" "net/http" _ "net/http/pprof" "log" "time" "github.com/panjf2000/gnet" ) var ( SetBytes, _ = hex.DecodeString("01030000001445C5") TM = timer.NewTimer() )...
@guonaihong 目前测试看,问题已经修复,之前的0.4版本我已经再测试环境测试了性能问题,长期运行CPU占用0.7左右的。马上发布0.5的版本到测试服务器上测试,有问题再向您反馈,感谢。