目前遇到的问题是:偶尔,在‘状态存取’模块下,读取全局状态后发现目标数据为空值(应当不是空值才对)。所以,应当是数据因为某个原因丢失了。
具体背景是:
1、目前,有一个公共子程序A,A里头有个词典,这个词典需要以状态保存。目前设置的是,每次运行A的时候,先进行读取全局状态,然后使用和修改,然后写入全部状态。
2、关于‘偶尔’——电脑里大概连续运行了1000次左右的读取全局状态+写入全局状态,过程中没有问题。然后突然出现一次丢失。
自己的怀疑:
1、会不会是群晖的存在导致了丢失。可能性不大,因为群晖没有做对C盘内文件的同步任务。
2、两个实例同时调用了这个公共子程序,恰好同时做了‘写入’,冲突导致丢失?
现在,
一方面,想要问如何排查丢失的原因?
一方面,想要问是否有其他更稳定的渠道来替代这个全局读写?