我看到谷歌为 javascript 提供了 api 进行协作:所有客户端都看到相同的模型。日期(我相信在model.beginCompoundOperation
and之间model.endCompoundOperation
)声称是原子的和持久的。这对于单个控制器来说似乎是理想的 - 多个查看器(在模型更新时刷新),但对于并发应用程序来说似乎不够,IMO。就保护并发控制器而言,当它们都开始操纵模型而不考虑其他模型时,可能会导致模型不一致。
考虑身份计数器。您维护一个图表。那是你的模型。每个节点都必须有自己的 id。模型中有一个 nextID 值。当客户端创建一个节点时,它会增加该字段。但是,您知道另一个客户可以同时做同样的事情。他们都将计数器从 4 增加到 5。但是,添加了两个节点。这表明共享数据访问还必须提供锁定接口。我在 Google Realtime API 中看不到任何内容。甚至没有讨论。为什么似乎没有人注意到,也没有人关心?