Skip to content

Instantly share code, notes, and snippets.

@jaycfields
Created February 23, 2013 20:28
Show Gist options
  • Save jaycfields/5021210 to your computer and use it in GitHub Desktop.
Save jaycfields/5021210 to your computer and use it in GitHub Desktop.
;; a simple server that's generating a new int that's < 100, every millisecond
(ns synchro.core
(:import [org.jetlang.fibers ThreadFiber]))
(defonce server-list (atom []))
(defonce appender (atom nil))
(defonce fiber (doto (ThreadFiber.) .start))
(defn append-to-list []
(when (< 9 (count @server-list))
(swap! server-list butlast))
(swap! server-list conj (rand-nth (range 100))))
(defn start []
(reset! appender (.scheduleAtFixedRate fiber append-to-list 1 1 java.util.concurrent.TimeUnit/MILLISECONDS)))
(defn stop []
(.dispose @appender))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment