我有一个程序,该程序获取JSON数据并使用该数据更新UI。我正在使用ThreadPoolTimer每10秒钟获取一次数据,并每10秒钟更新一次ViewModel。用户还可以通过选择特定日期或单击特定按钮来与应用程序交互,以独立于定期计时器启动获取过程。另外,所有提取操作实际上都是在加载相同的数据。
您如何设计程序,以使所有内容都同步并且不能同时运行多个更改?例如,如果用户在ThreadPoolTimer进行定期刷新时选择了一个特定的日期,则该应用程序将崩溃,因为它试图修改相同的ViewModel结构。另外,当用户单击按钮并快速更改日期时,由于相同的原因它也会崩溃。
是否存在一种通用方法来同步所有可能的任务,以便它们独立发生?您如何设计“刷新”按钮?您如何使其与“自动刷新”一起使用?您如何处理?谢谢,因为我是个初学者,所以请提供任何建议。