CLでSRFI-21 — #:g1

Posted 2012-03-31 13:31:00 GMT

CLでSRFI、今回は、SRFI-21の「Real-time Multithreading support」です。
SRFI 18にスレッドの優先度等のオプションを付けたようなSRFIです。

動作

(let ((th (make-thread (lambda () (sleep 2) :end)
                       "sleep 2")))
  (thread-base-priority-set! th 10)
  (thread-priority-boost-set! th 3)
  (thread-quantum-set! th 0.1)
  (thread-start! th)
  (list (thread-name th)
        (thread-base-priority th)
        (thread-priority-boost th)
        (thread-quantum th)
        (thread-join! th)))
;=>  ("sleep 2" 10 3 0.1 :END)

移植について

いまいち良く分からなかったので、SRFI-18のスレッドの構造体に優先度のスロットetcを付けただけです…。 ■

comments powered by Disqus