Did you know ... Search Documentation:
SWI-Prolog owl logoPack sparkle -- prolog/concurrency.pl
PublicShow source
concurrent_or(+Goals:list(callable)) is nondet
Simple interface to concurrent_or/3. Equivalent to concurrent_or(Vars,Goals,[]) where Vars is a list of all the variables in Goals.
concurrent_or(-Vars, +Goals:list(callable), +Options:list(option)) is nondet
Succeeds once for each solution of each goal in Goals, with Vars bound to sharing variables in Goals. Goals are executed in parallel. Valid options are
on_error(OnError:oneof([stop,continue]))
If OnError=stop, then an exception occuring in any goal stops all goals and is propagated back to and then thrown from the main thread. If OnError=continue, then an exception in a goal terminates only that thread, with a error message printed. The default is stop.
queue_factor(K:natural)
Solutions are communicated via a message queue of size K*length(Goals). This limits the extent to which threads compute solutions that have not yet been requested. The default is 1. Any remaining options are passed to thread_create/3.