This is the mail archive of the guile@cygnus.com mailing list for the guile project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: another newbie question


Vadim Zaliva writes:
 > 
 > Are threads are optional part of guile? I am using GUILE packaged with
 > RedHat linux and it seems not to have any thread functions, like
 > call-with-new-thread/2. Since shared lib is part of this distribution it
 > will be better to use it, rather than staticaly linking some other version
 > to my code.

They are optional and very provisory. Those threads are not kernel level
threads and are of no speed advantage on multiprocessing systems or
parallelized networks. Posix thread support is on the way, but not yet 
close to stable. guile uses now qthreads by D. Kappel, which are threads in
user space working on a several Unix systems, but not reliably portable.
Threads may also be emulated on the scheme level via call-with-current-
continuation. 
In no case is guile thread-safe in the sense that guile could be invoked
from several kernel-level threads in an application. That would mess up
completely with garbage collection.
--
Klaus Schilling