目录
当前位置: 首页 > 文档资料 > Clojure 入门教程 >

11.2 线程

优质
小牛编辑
129浏览
2023-12-01

线程

所有的Clojure方法都实现了 [java.lang.Runnable](http://java.sun.com/javase/6/docs/api/java/lang/Runnable.html) 接口和 [java.util.concurrent.Callable](http://java.sun.com/javase/6/docs/api/java/util/concurrent/Callable.html) 接口。这使得非常容易把Clojure里面函数和java里面的线程一起使用。比如:

(defn delayed-print [ms text]
  (Thread/sleep ms)
  (println text))

; Pass an anonymous function that invokes delayed-print
; to the Thread constructor so the delayed-print function
; executes inside the Thread instead of
; while the Thread object is being created.
(.start (Thread. #(delayed-print 1000 ", World!"))) ; prints 2nd
(print "Hello") ; prints 1st
; output is "Hello, World!"