Использовать Clojure Cells или add-watcher для реактивной программы? - PullRequest
3 голосов
/ 03 января 2011

Я хочу использовать много методов программирования типа реактивного (потока данных) в моей программе clojure.Является ли использование "add-watcher" на refs clojure достаточно хорошо, чтобы сделать это.Простым случаем для этого было бы обновить графический интерфейс при изменении базовых данных.

1 Ответ

2 голосов
/ 03 января 2011

Да, это действительно хорошая идея. Я использовал его в своем собственном коде для обновления элементов пользовательского интерфейса при изменении потоковых данных. Единственное, что вам нужно быть осторожным, это то, что наблюдатели вызываются синхронно в потоке agent или в основном потоке, если atom, ref или var. Поэтому, чтобы избежать блокировки потока, не выполняйте слишком много обработки в наблюдателях. Если вам нужно сделать это, создайте future.

...