(guile.info.gz) Low level thread primitives
Info Catalog
(guile.info.gz) Threads
(guile.info.gz) Higher level thread procedures
32.4.1 Low level thread primitives
----------------------------------
-- Scheme Procedure: call-with-new-thread thunk error-handler
Evaluate `(thunk)' in a new thread, and new dynamic context,
returning a new thread object representing the thread.
If an error occurs during evaluation, call error-handler, passing
it an error code describing the condition. [Error codes are
currently meaningless integers. In the future, real values will
be specified.] If this happens, the error-handler is called
outside the scope of the new root - it is called in the same
dynamic context in which with-new-thread was evaluated, but not in
the caller's thread.
All the evaluation rules for dynamic roots apply to threads.
-- Scheme Procedure: join-thread thread
Suspend execution of the calling thread until the target THREAD
terminates, unless the target THREAD has already terminated.
-- Scheme Procedure: yield
If one or more threads are waiting to execute, calling yield
forces an immediate context switch to one of them. Otherwise,
yield has no effect.
-- Scheme Procedure: make-mutex
Create a new mutex object.
-- Scheme Procedure: lock-mutex mutex
Lock MUTEX. If the mutex is already locked, the calling thread
blocks until the mutex becomes available. The function returns when
the calling thread owns the lock on MUTEX.
-- Scheme Procedure: unlock-mutex mutex
Unlocks MUTEX if the calling thread owns the lock on MUTEX.
Calling unlock-mutex on a mutex not owned by the current thread
results in undefined behaviour. Once a mutex has been unlocked,
one thread blocked on MUTEX is awakened and grabs the mutex lock.
-- Scheme Procedure: make-condition-variable
-- Scheme Procedure: wait-condition-variable cond-var mutex
-- Scheme Procedure: signal-condition-variable cond-var
Info Catalog
(guile.info.gz) Threads
(guile.info.gz) Higher level thread procedures
automatically generated byinfo2html