各位大佬好,请问一下,假设有这样一个真实应用场景:
对文档进行编辑,每分钟200+的高速打字过程中,连续触发保存条件
如果前一个保存操作未完成,又来了新的保存操作,则前一个任务取消,执行最新保存任务
本质上,还是想要实现一种用户完全无感的实时保存操作。
如何用比较优雅的方式去实现呢?
环境:sqlite数据库操作,C#+WPF,多线程
由于sqlite在本地进行IO操作,可能存在轻微的延时,造成卡顿,决定在多线程中实行。
我自己试验了几种方法,在低速打字状态都工作得很好,但测试速度快到一定程度就总是各种莫名其妙的bug,应该是逻辑不正确,但在低速状态靠电脑性能硬吃了。
如果靠着系统api,检查空闲……这样的逻辑会更好吗?