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.Thread
and implementsgnu.mapping.Lazy
.)
The standard
force
function is generalized to also work on threads. It waits for the thread’sexpression
to finish executing, and returns the result.
Creates a new
Runnable
instance from a function. Useful for passing to Java code that expects aRunnable
. You can get the result (a value or a thrown exception) using thegetResult
method.
Syntax: synchronized
object
form
...
Synchronize on the given
object
. (This means getting an exclusive lock on the object, by acquiring its monitor.) Then execute theform
s while holding the lock. When theform
s finish (normally or abnormally by throwing an exception), the lock is released. Returns the result of the lastform
. Equivalent to the Javasynchronized
statement, except that it may return a result.