在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次