Como posso implementar minha biblioteca de plataforma cruzada (por exemplo, no JRE) para operar de maneira segura em threads em referências a objetos, para que front-ends nativos em outras plataformas possam observar o objeto e tirar proveito dos padrões Observáveis?
Um pouco de experiência - existe um conceito de ligação de dados usado na maioria das estruturas de front-end. Em C # e Java, isso está relacionado à característica Observable, que dá a uma classe a capacidade de acionar eventos quando ocorrem mudanças, nas quais vários controles ou "observadores" podem se inscrever. Dessa forma, os observadores não precisam continuar pesquisando / lendo o recurso, comparando para obter atualizações.
Quero trabalhar em um mecanismo de análise que faça alterações nas listas de dados ao longo do tempo. Seria bom que o front-end pudesse observar essas listas enquanto a análise está sendo executada. Parece-me que isso exigiria que o front-end pudesse passar um objeto para o mecanismo de análise, escrito em uma biblioteca que, esperançosamente, é multiplataforma e capaz de fazer leituras seguras de threads para esse objeto. Ou então, peça à biblioteca que cumpra contratos de observabilidade.
A maneira como isso é tratado nos mecanismos CLI mais antigos do estilo Unix é usar stdin / stdout / stderr, e fazer com que o mecanismo publique atualizações em intervalos regulares. Isso requer uma sobrecarga padrão e uma análise de texto que eu preferiria evitar, se possível.