There is a very preliminary interface to create parallel threads.
The interface is similar to the standard delay/force,
where a thread is basically the same as a promise, except that
evaluation may be in parallel.
Creates a new thread that evaluates
expression.(The result extends
java.lang.Threadand implementsgnu.mapping.Lazy.)
The standard
forcefunction is generalized to also work on threads. It waits for the thread’sexpressionto finish executing, and returns the result.
Creates a new
Runnableinstance from a function. Useful for passing to Java code that expects aRunnable. You can get the result (a value or a thrown exception) using thegetResultmethod.
Syntax: synchronized object form ...
Synchronize on the given
object. (This means getting an exclusive lock on the object, by acquiring its monitor.) Then execute theforms while holding the lock. When theforms finish (normally or abnormally by throwing an exception), the lock is released. Returns the result of the lastform. Equivalent to the Javasynchronizedstatement, except that it may return a result.