Clojure の並行性について学んでいます。
http://dev.clojure.org/display/design/Scheduled+Eventsで、(Stuart Serra による?) 次のような主張に出くわしました。
- Clojure 関数は、ブロックまたは Java 相互運用なしでは制御フローに時間を使用できません
- Java 相互運用機能 (ScheduledThreadPoolExecutor) がスレッド ローカル バインディングを認識しない
私はこれらの主張を理解していません。おそらく例を挙げて、明確化をお願いします。具体的には:
- ScheduledThreadPoolExecutor の何が問題になっていますか? 私は新しい (緑の) スレッドを開始しているので、スレッドごとのバインディングが引き継がれるとは思っていません。
- 私は通常の Clojure 関数をスケジュールすることができます。
どうもありがとう!