Threads

YAP implements a SWI-Prolog compatible multithreading library.

Like in SWI-Prolog, Prolog threads have their own stacks and only share the Prolog heap: predicates, records, flags and other global non-backtrackable data. The package is based on the POSIX thread standard (Butenhof:1997:PPT) used on most popular systems except for MS-Windows.

User-defined:

1. blob_type_t PL_Message_Queue:

1. int Yap_NOfThreads(void):

1. static Int p_no_threads(void):

1. static Int p_nof_threads(void):

1. static Int p_max_threads(void):

1. static Int p_nof_threads_created(void):

1. static Int p_thread_runtime(void):

1. static Int p_thread_self(void):

1. static Int p_thread_stacks(void):

1. static Int p_thread_unlock(void):

1. static Int p_max_workers(void):

1. static Int p_new_mutex(void):

1. static Int p_with_mutex(USES_REGS1):

1. void Yap_InitFirstWorkerThreadHandle(void):

1. void Yap_InitThreadPreds(void):