【发布时间】:2020-06-23 10:20:20
【问题描述】:
我想使用计时器定期将信息打印到 repl(并做一些其他事情)。 SBCL 2.0.1 Emacs 26.1 狡猾的1.0.0-beta-3
(我无法创建一个狡猾的标签...)
在狡猾的repl中:
(defvar *timer* (make-timer (lambda ()
(write-line ".")
(force-output))))
(schedule-timer *timer* 2 :repeat-interval 1)`
并且工作正常 - 2 秒后,“。”打印出来的
在 timer-test.lisp 中:
(defvar *timer* (make-timer (lambda ()
(write-line ".")
(force-output))))
(schedule-timer *timer* 2 :repeat-interval 1)`
编译正常
当我执行schedule-timer 表单时,REPL 告诉我:
Timer #<TIMER {1002C5EB33}> failed to interrupt thread #<SB-THREAD:THREAD "slynk-worker" FINISHED values: T {1002C3DFA3}>.
我对 SBCL 中的线程知之甚少,无法解决这个问题。有没有一种简单的方法可以让预定的计时器(在文件中)输出到 REPL?
感谢您的帮助。
【问题讨论】:
-
感谢您的格式化帮助 - 我应该这样做
标签: timer emacs lisp common-lisp sbcl