Geçerli olan *standard-output*
'u yeni iş parçacığına bir şekilde iletmeniz gerekir, daha sonra bu iş parçacığı işlevinde *standard-output*
değerini bu değere bağlayabilirsiniz.
Geçerli Genel Lisp uygulamaları, thread yerel dinamik bağlamaları ve SBCL is one of them'u oluşturur. Ben iplik işlevin argümanı *standard-output*
adlı olabilirdi ve dinamik fonksiyon girişinde yapıldı bağlanma beri sonra, let
gerek olmazdı
(sb-thread:make-thread ;; thread function
#'(lambda (standard-output)
;; thread-local dynamic binding of special variable
(let ((*standard-output* standard-output))
...))
;; thread function argument, provided by the current thread
:arguments (list *standard-output*))
Not. Ancak, dinamik değişkenlerin, özel değişken adlandırma kuralı etrafında bulunan kulaklıklara rağmen, açık ve açık olması gerektiğini düşünüyorum.