built-in predicate

threaded_ignore/1

Description

threaded_ignore(Goal)

Proves Goal asynchronously using a new thread. Only the first goal solution is found. The argument can be a message sending goal. This call always succeeds, independently of the result (success, failure, or exception), which is simply discarded instead of being sent back to the message queue of the object containing the call (this).

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.

Meta-predicate template

threaded_ignore(0)

Modes and number of proofs

threaded_ignore(@callable) - one

Errors

Goal is a variable:
instantiation_error
Goal is neither a variable nor a callable term:
type_error(callable, Goal)

Examples

Prove Goal asynchronously in a new thread:
threaded_ignore(Goal)
Prove ::Message asynchronously in a new thread:
threaded_ignore(::Message)
Prove Object::Message asynchronously in a new thread:
threaded_ignore(Object::Message)