2011-01-03 9 views
3

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

ответ

2

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

 Смежные вопросы

  • Нет связанных вопросов^_^