A thread that can be joined to yield the result of the thunk used to create it.
Returns the thread object representing the calling thread.
Returns a fresh list of all running threads.
Interrupt thread and call `thunk' within its dynamic context, then continue with the interrupted path of execution.
Terminates the thread `thread'.
Returns True if `thread' has not finished or `destroy' has not been called on it.
Creates and returns a thread, which will call the function `thunk' with no arguments: when `thunk' returns, the thread terminates.
Wait until `thread' terminates, or if it has already terminated, return immediately.
Wrapper for a native non-recursive lock.
Acquire `lock' for the calling thread. Returns Boolean immediately, True if `lock' was acquired, False otherwise.
NIL
Release `lock'. It is an error to call this unless the lock has previously been acquired (and not released) by the same thread. If other threads are waiting for the lock, the `acquire-lock' call in one of them will now be able to continue.
Returns the lock.
Acquire `lock' for the calling thread.
Creates a non-recursive lock.
Wrapper for a native recursive lock.
Acquire `lock' for the calling thread. Returns Boolean immediately, True if `lock' was acquired, False otherwise.
NIL
Release `lock'. It is an error to call this unless the lock has previously been acquired (and not released) by the same thread. If other threads are waiting for the lock, the `acquire-lock' call in one of them will now be able to continue.
Returns the lock.
Acquire `lock' for the calling thread.
Creates a non-recursive lock.
Wrapper for a native condition variable.
Notify all of the threads waiting for `cv'.
Notify one of the threads waiting for `cv'.
Atomically release `lock' and enqueue the calling thread waiting for `cv'. The thread will resume when another thread has notified it using `notify-cv'; it may also resume if interrupted by some external event or in other implementation-dependent circumstances: the caller must always test on waking that there is threading to be done, instead of assuming that it can go ahead.
Creates a condition variable.
Wrapper for a native semaphore.
Increment `sem' by `count'. If there are threads awaiting this semaphore, then `count' of them are woken up.
Decrement the count of `sem' by 1 if the count is larger than zero. If the count is zero, blocks until `sem' can be decremented.
Creates a semaphore with initial count 0.
An unsigned machine word that allows atomic increment, decrement and swap.
Increments the value of `atomic' by `delta'.
Decrements the value of `atomic' by `delta'.
Returns the current value of `atomic'.
If the current value of `atomic' is equal to `old', replace it with `new'. Returns True if the replacement was successful, otherwise False.
Creates an `AtomicInteger' with initial value `value'.
A mutually exclusive cell.
Swap the value held in a Mutex with a transforming function.
Set the value held in a Mutex, returning the new value.
Replace the value held in a Mutex, returning the old value.
Access the value held in a Mutex.
NIL
nil
NIL
NIL
NIL
NIL