3
私はclojureプログラムで反応型(データフロー)タイプのプログラミング手法をたくさん使いたいと思っています。 clojure refsの "add-watcher"を使ってこれを実行するのに十分なのでしょうか?簡単なケースは、基礎となるデータが変更されたときにGUIを更新することです。リアクティブプログラムにはClojureセルまたはウォッチャーを使用しますか?
私はclojureプログラムで反応型(データフロー)タイプのプログラミング手法をたくさん使いたいと思っています。 clojure refsの "add-watcher"を使ってこれを実行するのに十分なのでしょうか?簡単なケースは、基礎となるデータが変更されたときにGUIを更新することです。リアクティブプログラムにはClojureセルまたはウォッチャーを使用しますか?
はい、それは確かに良いアイデアです。ストリーミングデータが変更されたときにUI要素を更新するために、自分のコードでこのコードを使用しました。あなたが注意する必要があるのは、,ref
またはvar
なら、ウォッチャーはagent
のスレッドまたはメインスレッドで同期的に呼び出されます。だからスレッドをブロックしないようにするには、ウォッチャーであまり処理しないでください。そうする必要がある場合は、future
を作成してください。