在其中用了两个存储指针转换以达到无缝读取缓存,在Cat Chen一语提醒之后,想了一想:的确是没有必要在缓存中使用两个存储指针的,其实一个存储地址,只要保证写入时在其它线程就可以。
更改存储介质至以下两个属性:
这里存储区用于存储要缓存的实体内容,而IsUpdating则标识其是否正在更新。
对于缓存类,则更改了写入和读取方式。
这里在添加时只控制了首次写入缓存在主线程,而读取时则直接读取缓存内容。
而线程辅助类也进行了简化,仅将其执行并写入就好了,抛出线程完全由DictionaryCache控制。
其实有的时候思考问题还是不由自主的向着自己的经验方向刻意安排,这样通常把问题搞复杂了。
还好有园子里的朋友帮助,才简单的解决了问题,这样的由简至繁,再由繁衍至简的过程其实在实际开发中发生的还真不少。