好的,我在Clojure有这个小的procedural SVG editor。Clojure代理:限速?
它有一个代码窗格,用户在其中创建用于生成SVG文档的代码和预览窗格。每当代码更改时,预览窗格都会更新。
现在,在文本更改事件上,代码在UI线程(Ewwwww!)上重新编译并更新预览窗格。编译步骤应该异步发生,并且代理似乎很好地解决了这个问题:请代理重新编译更新中的代码,并将结果传递给图像窗格。
我还没有使用代理,我不知道他们是否使用隐式队列,但我怀疑是这样。在我的情况下,我对计算“中间”步骤没有兴趣(想想快速键击:如果在重新编译开始之前发生键击,我只想丢弃重新编译) - 即我想要一个send
覆盖任何挂起代理计算。
我该如何做到这一点?任何提示?甚至是代码示例?我的散漫是否有道理?
谢谢!
难道不会在UI线程上留下计算吗? – ivant 2012-04-26 06:38:00