built-in predicate
threaded_wait/1
Description
threaded_wait(Term)
threaded_wait([Term| Terms])
Suspends the thread making the call until a notification is received
that unifies with Term
. The call must be made within the same object
(this) containing the calls to the
threaded_notify/1 predicate that will
eventually send the notification. The argument may also be a list of
notifications, [Term| Terms]
. In this case, the thread making the
call will suspend until all notifications in the list are received.
Note
This predicate requires a backend Prolog compiler providing
compatible multi-threading primitives. The value of the read-only
threads flag is set to supported
when that
is the case.
Modes and number of proofs
threaded_wait(?term) - one
threaded_wait(+list(term)) - one
Errors
(none)
Examples
% wait until the "data_available" notification is received:
..., threaded_wait(data_available), ...
See also