Copyright (C) 2000-2012 |
GNU Info (guile.info)Higher level thread proceduresHigher level thread procedures ------------------------------ - primitive: call-with-new-thread thunk error-thunk 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-thunk, 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-thunk 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 callers thread. All the evaluation rules for dynamic roots apply to threads. - primitive: join-thread thread Suspend execution of the calling thread until the target THREAD terminates, unless the target THREAD has already terminated. - primitive: 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. - primitive: make-mutex Create a new mutex object. - primitive: 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. - primitive: 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. automatically generated by info2www version 1.2.2.9 |