在onbar中调用SetTBProfileString2File会不会阻塞程序运行

在onbar中调用SetTBProfileString2File会不会阻塞程序运行?SetTBProfileString2File会不会跳跃过一些记录呢?我发现SetTBProfileString2File写的记录,用GetTBProfileString读回来时候少了很多条记录,这些少的记录应该要有的。

文档中不管set还是get都限制单条字符串长度不能超过256字节,256字节不算“大量”吧。

回复:也没说只执行一次写入吧?一次写入如果执行了很多次写入呢?

如果写入量不是特别大写入方式有同步、异步的区别如果是异步方式Set之后Get少了算是正常(实际上没少)而且Set/Get代码写法环境也会影响读取值需要打开数据库查看是否确实少了写入总体来说无论异步还是同步只要不是大量写入阻塞的情况基本不用考虑大概率和编码方式有关相反的如果必须get到那就同步+自己阻塞线程再get

有可能阻塞onbar本身是根据tick驱动的,tick是约0.5s一次。如果你写入数据量过大,写入时间超过0.5s,那么积累的多个tick会合并成一次驱动。举个例子,一分钟时间有120tick,理论上应该写入120次。但是如果你一次写入内容过多,导致多次tick排队,那么写入数量就会少于120次