如何实现我的跨平台库(例如在JRE上)以对对象引用以线程安全的方式进行操作,以便其他平台上的本机前端可以观察对象并利用Observable模式?
有一点背景-大多数前端框架中都使用了数据绑定的概念。在C#和Java中,这与Observable特性有关,该特性使类能够在发生更改时触发事件,多个控件或“观察者”可以订阅该事件。这样,观察者就不必继续轮询/读取资源,进行更新比较。
我想研究一个分析引擎,该引擎会随着时间的推移对数据列表进行更改。能够让前端在分析运行时能够观察这些列表将是很好的。在我看来,这将要求前端能够将对象传递给分析引擎,并在希望跨平台的库中编写该对象,并且能够对该对象进行线程安全读取。否则,让图书馆满足可观察性合同。
在较旧的Unix风格的CLI引擎中处理此问题的方法是使用stdin / stdout / stderr,并使引擎定期更新更新。这需要标准的开销和文本解析,如果可能的话,我宁愿避免。